From 6a30f0c73d64f253132af406d6d87d09ee232bcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Bissey?= Date: Tue, 20 Apr 2021 13:25:13 +1200 Subject: [PATCH 1/4] Generate a .pc file for NTL --- src/DoConfig | 17 ++++++++++++++++- src/mfile | 4 +++- src/ntl.pc.in | 19 +++++++++++++++++++ 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 src/ntl.pc.in diff --git a/src/DoConfig b/src/DoConfig index ad583c3..a131560 100644 --- a/src/DoConfig +++ b/src/DoConfig @@ -397,7 +397,22 @@ sub GenFiles { close(MFILE); close(MFILEOUT); - + # generate ntl.pc + + open(NTLPCIN, "< ntl.pc.in"); + open(NTLPC, "> ntl.pc"); + + while ($line = ) { + + $line =~ s/@\{(.*?)\}/$MakeSub{$1}/ge; + + print NTLPC $line; + + } + + close(NTLPCIN); + close(NTLPC); + # generate config.h diff --git a/src/mfile b/src/mfile index 540a3a5..56eaf39 100644 --- a/src/mfile +++ b/src/mfile @@ -453,7 +453,9 @@ install: @{LSTAT} cp -p ntl.a $(DESTDIR)$(LIBDIR)/libntl.a #LSTAT @{LSTAT} - chmod a+r $(DESTDIR)$(LIBDIR)/libntl.a #LSTAT @{LSHAR} $(LIBTOOL) --mode=install cp -p libntl.la $(DESTDIR)$(LIBDIR) #LSHAR - + mkdir -p -m 755 $(DESTDIR)$(LIBDIR)/pkgconfig + cp -p ntl.pc $(DESTDIR)$(LIBDIR)/pkgconfig/ + - chmod a+r $(DESTDIR)$(LIBDIR)/pkgconfig/ntl.pc uninstall: @{LSTAT} rm -f $(LIBDIR)/libntl.a #LSTAT diff --git a/src/ntl.pc.in b/src/ntl.pc.in new file mode 100644 index 0000000..8f387d5 --- /dev/null +++ b/src/ntl.pc.in @@ -0,0 +1,19 @@ +# Define these NTL configuration variables as they may not be +# substited by DoConfig +DEF_PREFIX=@{DEF_PREFIX} +PREFIX=@{PREFIX} +# optional dependencies +@{GF2X}GF2X_PKG=gf2x +@{GMP}GMP_PKG=gmp +# Normal pc file starts here +prefix=@{PREFIX} +libdir=@{LIBDIR} +includedir=@{INCLUDEDIR}/NTL + +Name: ntl +URL: http://www.shoup.net/ +Description: A library for doing number theory +#Version: @PACKAGE_VERSION@ +Libs: -L${libdir} -lntl +Cflags: -I${includedir} @{CXXAUTOFLAGS} +Requires.private: ${GF2X_PKG} ${GMP_PKG} From bdd6f034a0d4348aaa7fedf2c2e061906869a600 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Bissey?= Date: Tue, 20 Apr 2021 22:13:44 +1200 Subject: [PATCH 2/4] Parse version number from DIRNAME into ntl.pc --- src/DoConfig | 8 ++++++++ src/ntl.pc.in | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/DoConfig b/src/DoConfig index a131560..46325dc 100644 --- a/src/DoConfig +++ b/src/DoConfig @@ -47,6 +47,8 @@ system("echo '*** CompilerOutput.log ***' > CompilerOutput.log"); 'TUNE' => 'generic', +'PACKAGE_VERSION' => undef, + ); @@ -283,6 +285,12 @@ if ($ConfigFlag{'NTL_GF2X_LIB'} eq 'on') { } } +# retrieve ntl version from DIRNAME +open(DIRNAME, "< DIRNAME"); +@versionline = split('-',); +chomp($versionline[1]); +$MakeVal{'PACKAGE_VERSION'} = $versionline[1]; +close(DIRNAME); # copy %MakeVal and %MakeFlag as is into %MakeSub diff --git a/src/ntl.pc.in b/src/ntl.pc.in index 8f387d5..3b756ed 100644 --- a/src/ntl.pc.in +++ b/src/ntl.pc.in @@ -13,7 +13,7 @@ includedir=@{INCLUDEDIR}/NTL Name: ntl URL: http://www.shoup.net/ Description: A library for doing number theory -#Version: @PACKAGE_VERSION@ +Version: @{PACKAGE_VERSION} Libs: -L${libdir} -lntl Cflags: -I${includedir} @{CXXAUTOFLAGS} Requires.private: ${GF2X_PKG} ${GMP_PKG} From 4823d668bd71c6d018d0e432712fedd357285e17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Bissey?= Date: Wed, 21 Apr 2021 08:13:28 +1200 Subject: [PATCH 3/4] We need to change braces from () to {} in the .pc file --- src/DoConfig | 1 + 1 file changed, 1 insertion(+) diff --git a/src/DoConfig b/src/DoConfig index 46325dc..54e5fab 100644 --- a/src/DoConfig +++ b/src/DoConfig @@ -413,6 +413,7 @@ sub GenFiles { while ($line = ) { $line =~ s/@\{(.*?)\}/$MakeSub{$1}/ge; + $line =~ tr/()/{}/; print NTLPC $line; From ff74b9d165d03ad97392dd3068feb4feed87b08f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Bissey?= Date: Fri, 28 May 2021 10:00:41 +1200 Subject: [PATCH 4/4] Do not include NTL in icludedir. Downstream is supposed to include it when using ntl headers. --- src/ntl.pc.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ntl.pc.in b/src/ntl.pc.in index 3b756ed..07e78dd 100644 --- a/src/ntl.pc.in +++ b/src/ntl.pc.in @@ -8,7 +8,7 @@ PREFIX=@{PREFIX} # Normal pc file starts here prefix=@{PREFIX} libdir=@{LIBDIR} -includedir=@{INCLUDEDIR}/NTL +includedir=@{INCLUDEDIR} Name: ntl URL: http://www.shoup.net/