From 27284e6a9cb95dcd274abbe184b21eed8a899904 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sat, 7 May 2022 16:00:45 -0400 Subject: [PATCH 1/3] Gentoo's existing build system patch --- Makefile.am | 5 ----- configure.ac | 8 +++----- lib-src-reg/Makefile.am | 8 ++++---- lib-src/Makefile.am | 8 ++++---- src-reg/Makefile.am | 15 +++++---------- src/Makefile.am | 14 +++++--------- wrap-gmp-gmpxx/Makefile.am | 4 ++-- 7 files changed, 23 insertions(+), 39 deletions(-) diff --git a/Makefile.am b/Makefile.am index 5dd0de0..4586f79 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1 @@ SUBDIRS = wrap-gmp-gmpxx lib-src-reg lib-src src-reg src examples -EXTRA_DIST = external/Makefile -EXTRA_DIST += external/gmp-6.1.1.tar.bz2 -EXTRA_DIST += external/cddlib-0.94f-TOPCOM.tar.gz -EXTRA_DIST += external/gmpxx-patch - diff --git a/configure.ac b/configure.ac index 6635345..a10fb97 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,9 @@ dnl Checks for programs. AC_PROG_CC AC_PROG_INSTALL AC_PROG_CXX -AC_PROG_RANLIB +LT_INIT +AC_ENABLE_SHARED +AC_DISABLE_STATIC dnl Checks for libraries. dnl Replace `main' with a function in -lg: @@ -18,10 +20,6 @@ dnl Replace `main' with a function in -lstdc: dnl AC_CHECK_LIB(stdc, main) dnl Replace `main' with a function in -lstdc++: dnl AC_CHECK_LIB(stdc++, main) -dnl Make libgmp: -make -C external gmp -dnl Make libcddgmp: -make -C external cdd dnl Check for soplex: AC_CHECK_LIB(soplex, main, , csh -c 'echo soplex not found: --soplex will not work.') diff --git a/lib-src-reg/Makefile.am b/lib-src-reg/Makefile.am index fc8b005..d07b8f8 100644 --- a/lib-src-reg/Makefile.am +++ b/lib-src-reg/Makefile.am @@ -1,6 +1,6 @@ -lib_LIBRARIES = libCHECKREG.a +lib_LTLIBRARIES = libCHECKREG.la -libCHECKREG_a_SOURCES = \ +libCHECKREG_la_SOURCES = \ SPXinterface.cc \ LPinterface.cc \ RegularityCheck.cc @@ -12,9 +12,9 @@ LPinterface.hh AM_CPPFLAGS = -I../lib-src AM_CPPFLAGS += -I../wrap-gmp-gmpxx -AM_CPPFLAGS += -I../external/include +AM_CPPFLAGS += $(CPPFLAGS) AM_CPPFLAGS += -I$(includedir) AM_CPPFLAGS += -DVERBOSE -DGMPRATIONAL -ftemplate-depth-30 -AM_CXXFLAGS = -O2 +AM_CXXFLAGS = $(CXXFLAGS) diff --git a/lib-src/Makefile.am b/lib-src/Makefile.am index b2358cc..90b735a 100644 --- a/lib-src/Makefile.am +++ b/lib-src/Makefile.am @@ -1,6 +1,6 @@ -lib_LIBRARIES = libTOPCOM.a +lib_LTLIBRARIES = libTOPCOM.la -libTOPCOM_a_SOURCES = \ +libTOPCOM_la_SOURCES = \ Admissibles.cc \ CheckTriang.cc \ Circuits.cc \ @@ -90,9 +90,9 @@ VirtualChiro.hh AM_CPPFLAGS = -I../lib-src-reg AM_CPPFLAGS += -I../wrap-gmp-gmpxx -AM_CPPFLAGS += -I../external/include +AM_CPPFLAGS += $(CPPFLAGS) AM_CPPFLAGS += -I$(includedir) AM_CPPFLAGS += -DVERBOSE -DGMPRATIONAL -ftemplate-depth-35 -AM_CXXFLAGS = -O2 -g +AM_CXXFLAGS = $(CXXFLAGS) diff --git a/src-reg/Makefile.am b/src-reg/Makefile.am index a351951..38f8f9f 100644 --- a/src-reg/Makefile.am +++ b/src-reg/Makefile.am @@ -2,20 +2,15 @@ bin_PROGRAMS = checkregularity checkregularity_SOURCES = checkregularity.cc -LDADD = ../lib-src-reg/libCHECKREG.a \ - ../lib-src/libTOPCOM.a \ - ../external/lib/libcddgmp.a \ - ../external/lib/libgmpxx.a \ - ../external/lib/libgmp.a - AM_CPPFLAGS = -I../lib-src AM_CPPFLAGS += -I../lib-src-reg +AM_CPPFLAGS += -L../lib-src-reg +AM_CPPFLAGS += -L../lib-src AM_CPPFLAGS += -I../wrap-gmp-gmpxx -AM_CPPFLAGS += -I../external/include +AM_CPPFLAGS += $(CPPFLAGS) AM_CPPFLAGS += -I$(includedir) -AM_CPPFLAGS += -DVERBOSE -DGMPRATIONAL -ftemplate-depth-30 - -AM_CXXFLAGS = -O2 +AM_CPPFLAGS += -DVERBOSE -DGMPRATIONAL -ftemplate-depth-30 -lTOPCOM -lCHECKREG +AM_CXXFLAGS = $(CXXFLAGS) -L../lib-src-reg -L../lib-src -lTOPCOM -lCHECKREG diff --git a/src/Makefile.am b/src/Makefile.am index ff7e574..63a76fc 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -83,18 +83,14 @@ santos_triang_SOURCES = santos_triang.cc santos_dim4_triang_SOURCES = santos_dim4_triang.cc santos_22_triang_SOURCES = santos_22_triang.cc -LDADD = ../lib-src/libTOPCOM.a \ - ../lib-src-reg/libCHECKREG.a \ - ../external/lib/libcddgmp.a \ - ../external/lib/libgmpxx.a \ - ../external/lib/libgmp.a - AM_CPPFLAGS = -I../lib-src AM_CPPFLAGS += -I../lib-src-reg +AM_CPPFLAGS += -L../lib-src-reg +AM_CPPFLAGS += -L../lib-src AM_CPPFLAGS += -I../wrap-gmp-gmpxx -AM_CPPFLAGS += -I../external/include +AM_CPPFLAGS += $(CPPFLAGS) AM_CPPFLAGS += -I$(includedir) -AM_CPPFLAGS += -DVERBOSE -DGMPRATIONAL -ftemplate-depth-30 +AM_CPPFLAGS += -DVERBOSE -DGMPRATIONAL -ftemplate-depth-30 -lTOPCOM -lCHECKREG -AM_CXXFLAGS = -O2 +AM_CXXFLAGS = $(CXXFLAGS) -L../lib-src-reg -L../lib-src -lTOPCOM -lCHECKREG diff --git a/wrap-gmp-gmpxx/Makefile.am b/wrap-gmp-gmpxx/Makefile.am index b9ef8db..4c3f675 100644 --- a/wrap-gmp-gmpxx/Makefile.am +++ b/wrap-gmp-gmpxx/Makefile.am @@ -3,6 +3,6 @@ Integer.h \ Rational.h AM_CPPFLAGS = -I../external/include -AM_CPPFLAGS += -I$(includedir) +AM_CPPFLAGS += -I$(includedir) $(CPPFLAGS) -AM_CXXFLAGS = -O2 +AM_CXXFLAGS = $(CXXFLAGS) -- 2.35.1 From 1980a3cba20ac549f488d7e00a01d3eee61485be Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sat, 7 May 2022 16:14:57 -0400 Subject: [PATCH 2/3] configure.ac: don't try to invoke csh to print an informational message. On systems that don't have csh, running "csh -c 'echo...'" will result in an error; for example, ./configure: line 4102: csh: command not found Autoconf already provides macros to print the status and results of various checks, so here we switch this particular invocation to make use of AC_MSG_CHECKING and AC_MSG_RESULT. While we're at it, the old-fashioned AC_CHECK_LIB was updated to use the newer AC_SEARCH_LIBS. --- configure.ac | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index a10fb97..0b2c0aa 100644 --- a/configure.ac +++ b/configure.ac @@ -21,7 +21,11 @@ dnl AC_CHECK_LIB(stdc, main) dnl Replace `main' with a function in -lstdc++: dnl AC_CHECK_LIB(stdc++, main) dnl Check for soplex: -AC_CHECK_LIB(soplex, main, , csh -c 'echo soplex not found: --soplex will not work.') +AC_MSG_CHECKING([for soplex]) +AC_SEARCH_LIBS([main], + [soplex], + [AC_MSG_RESULT([success])], + [AC_MSG_RESULT([failed, --soplex will not work])]) dnl Checks for header files. AC_HEADER_STDC -- 2.35.1 From 041f20f5712262ab99bfdfe29e20355d5e4fbf5d Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sat, 7 May 2022 16:19:50 -0400 Subject: [PATCH 3/3] configure.ac: run autoupdate. Autoconf-2.7x emits a few warnings while processing configure.ac. This commit is the result of running "autoupdate" to fix them. --- configure.ac | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index 0b2c0aa..cddaef6 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(TOPCOM, 0.17.8) +AC_INIT([TOPCOM],[0.17.8]) AC_CONFIG_SRCDIR(.) dnl Init automake. @@ -27,12 +27,9 @@ AC_SEARCH_LIBS([main], [AC_MSG_RESULT([success])], [AC_MSG_RESULT([failed, --soplex will not work])]) -dnl Checks for header files. -AC_HEADER_STDC dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST -dnl Checks for library functions. - -AC_OUTPUT(wrap-gmp-gmpxx/Makefile lib-src/Makefile lib-src-reg/Makefile src/Makefile src-reg/Makefile examples/Makefile Makefile) +AC_CONFIG_FILES([wrap-gmp-gmpxx/Makefile lib-src/Makefile lib-src-reg/Makefile src/Makefile src-reg/Makefile examples/Makefile Makefile]) +AC_OUTPUT -- 2.35.1