Path: blob/master/build/pkgs/lcalc/patches/Makefile.patch
8820 views
--- src.orig/src/Makefile 2012-08-08 23:21:56.274799100 +02001+++ src/src/Makefile 2012-08-08 23:21:45.430581000 +02002@@ -13,7 +13,7 @@3# elliptic curve routines. Doing so disables the -e option.4# g++ with -DINCLUDE_PARI sends a #define INCLUDE_PARI to the preprocessor.56-#PARI_DEFINE = -DINCLUDE_PARI7+PARI_DEFINE = -DINCLUDE_PARI8#PREPROCESSOR_DEFINE = -DUSE_LONG_DOUBLE910#OPENMP_FLAG = -fopenmp11@@ -29,7 +29,17 @@1213OS_NAME := $(shell uname)1415-CC = g++16+ifneq (,$(findstring CYGWIN,$(OS_NAME)))17+ OS_NAME := CYGWIN18+endif19+20+#CC = g++21+# Note: I've also changed various rules to use $CXX instead of $CC,22+# since we mostly compile C++, not C, and $CC is by convention23+# used for the *C* compiler.24+CC ?= gcc25+CXX ?= g++26+27#cc = /home/mrubinst/local/bin/gcc28#CC = /home/mrubinst/local/bin/g++29#LD = /home/mrubinst/local/bin/g++30@@ -58,9 +68,7 @@31#MACHINE_SPECIFIC_FLAGS = -mpowerpc -mpowerpc64 -m6432endif3334-CCFLAGS = -Wa,-W -O3 $(OPENMP_FLAG) -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)35-#CCFLAGS = -Wa,-W -O3 $(OPENMP_FLAG) $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)36-#CCFLAGS = -Wa,-W -O2 -fno-exceptions -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)37+CXXFLAGS := -O3 $(OPENMP_FLAG) $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA) $(CXXFLAGS)3839#warning- O2 doesn't help with -DUSE_LONG_DOUBLE on mac, and actually seems to hurt, making runtime longer40#by a factor of 1.541@@ -68,12 +76,12 @@4243ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)44#location of pari.h.45- LOCATION_PARI_H = /usr/local/include/pari #usual location46+ LOCATION_PARI_H = $(SAGE_LOCAL)/include/pari4748#location of libpari.a or of libpari.so49#depending on whether static or dynamic libraries are being used.50#On mac os x it's the former, on linux I think usually the latter.51- LOCATION_PARI_LIBRARY = /usr/local/lib #usual location52+ LOCATION_PARI_LIBRARY = $(SAGE_LOCAL)/lib53else54#supplied as a dummy so as to avoid more ifeq's below55LOCATION_PARI_H = .56@@ -88,26 +96,12 @@57#For Mac os x we omit shared library options5859ifeq ($(OS_NAME),Darwin)60- LDFLAGS2 =61DYN_OPTION=dynamiclib62else63- LDFLAGS1 = -Xlinker -export-dynamic #not sure why pari calls these when linking but on the web I found64- #'Libtool provides the `-export-dynamic' link flag (see section Link mode), which does this declaration.65- #You need to use this flag if you are linking a shared library that will be dlopened'66- #see notes below67- #ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)68- LDFLAGS2 = $(LDFLAGS1) -Xlinker -rpath -Xlinker $(LOCATION_PARI_LIBRARY)69- #else70- # LDFLAGS2 = $(LDFLAGS1)71- #endif72DYN_OPTION=shared73endif7475-ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)76- LDFLAGS = $(LDFLAGS2) -L$(LOCATION_PARI_LIBRARY) -lpari77-else78- LDFLAGS = $(LDFLAGS2)79-endif80+LDFLAGS := -L$(LOCATION_PARI_LIBRARY) -lpari -lgmp $(LDFLAGS)81828384@@ -129,47 +123,64 @@85#become clear which libraries the computer can find.868788-INSTALL_DIR= /usr/local89+INSTALL_DIR ?= /usr/local90+91+#binary and library files extensions92+LIBEXT := .so93+EXEEXT :=94+95+ifeq ($(OS_NAME),Darwin)96+ LIBEXT := .dylib97+ EXEEXT :=98+endif99+100+ifeq ($(OS_NAME),CYGWIN)101+ LIBEXT := .dll102+ EXEEXT := .exe103+endif104105#object files for the libLfunction library106OBJ_L = Lglobals.o Lgamma.o Lriemannsiegel.o Lriemannsiegel_blfi.o Ldokchitser.o107108#object files for the command line program109-OBJ2=$(OBJ_L) Lcommandline_globals.o Lcommandline_misc.o Lcommandline_numbertheory.o Lcommandline_values_zeros.o110-OBJ3=$(OBJ2) Lcommandline_elliptic.o Lcommandline_twist.o Lcommandline.o cmdline.o111+OBJ2 = $(OBJ_L) Lcommandline_globals.o Lcommandline_misc.o Lcommandline_numbertheory.o Lcommandline_values_zeros.o112+OBJ3 = $(OBJ2) Lcommandline_elliptic.o Lcommandline_twist.o Lcommandline.o cmdline.o113OBJECTS = $(OBJ3)114115all:116-# make print_vars117- make libLfunction.so118- make lcalc119- make examples120-# make find_L121-# make test122+# $(MAKE) print_vars123+ $(MAKE) libLfunction$(LIBEXT)124+ $(MAKE) lcalc$(EXEEXT)125+ $(MAKE) examples126+# $(MAKE) find_L127+# $(MAKE) test128129print_vars:130@echo OS_NAME = $(OS_NAME)131132-lcalc: $(OBJECTS)133- $(CC) $(CCFLAGS) $(INCLUDEFILES) $(OBJECTS) $(LDFLAGS) -o lcalc $(GMP_FLAGS)134+lcalc$(EXEEXT): $(OBJECTS)135+ $(CXX) $(CXXFLAGS) $(INCLUDEFILES) $(OBJECTS) $(LDFLAGS) -o lcalc$(EXEEXT) $(GMP_FLAGS)136137examples:138- $(CC) $(CCFLAGS) $(INCLUDEFILES) example_programs/example.cc libLfunction.so -o example_programs/example $(GMP_FLAGS)139+ $(CXX) $(CXXFLAGS) $(INCLUDEFILES) example_programs/example.cc libLfunction$(LIBEXT) -o example_programs/example$(EXEEXT) $(GMP_FLAGS)140+141142+proc$(EXEEXT):143+ $(CXX) $(CXXFLAGS) $(INCLUDEFILES) example_programs/proc.cc libLfunction$(LIBEXT) -o example_programs/proc$(EXEEXT) $(GMP_FLAGS)144145-proc:146- $(CC) $(CCFLAGS) $(INCLUDEFILES) example_programs/proc.cc libLfunction.so -o example_programs/proc $(GMP_FLAGS)147+test$(EXEEXT):148+ $(CXX) $(CXXFLAGS) $(INCLUDEFILES) example_programs/test.cc libLfunction$(LIBEXT) -o example_programs/test$(EXEEXT) $(GMP_FLAGS)149150-test:151- $(CC) $(CCFLAGS) $(INCLUDEFILES) example_programs/test.cc libLfunction.so -o example_programs/test $(GMP_FLAGS)152+find_L$(EXEEXT):153+ $(CXX) $(CXXFLAGS) $(INCLUDEFILES) find_L_functions/find_L_functions.cc libLfunction$(LIBEXT) -o find_L_functions/find_L$(EXEEXT) $(GMP_FLAGS)154155-find_L:156- $(CC) $(CCFLAGS) $(INCLUDEFILES) find_L_functions/find_L_functions.cc libLfunction.so -o find_L_functions/find_L $(GMP_FLAGS)157158.cc.o:159- $(CC) $(CCFLAGS) $(INCLUDEFILES) -c $<160+ $(CXX) $(CXXFLAGS) $(INCLUDEFILES) -c $<161+162+# Warning: We (Sage) add $CXXFLAGS to CXXFLAGS above.163.c.o:164- $(CC) $(CCFLAGS) $(INCLUDEFILES) -c $<165+ $(CC) $(CXXFLAGS) $(INCLUDEFILES) -c $<166167168Lglobals.o: ../include/Lglobals.h ../include/Lcommon.h ../include/Lcomplex.h ../include/Lnumeric.h ../include/Lint_complex.h169@@ -227,7 +238,7 @@170Lcommandline_elliptic.o: ../include/Lvalue.h ../include/Lfind_zeros.h171Lcommandline_elliptic.o: ../include/Lcommandline_numbertheory.h172Lcommandline_elliptic.o: ../include/Lcommandline_globals.h173- $(CC) $(CCFLAGS) $(INCLUDEFILES) -I$(LOCATION_PARI_H) $(PARI_DEFINE) -c Lcommandline_elliptic.cc174+ $(CXX) $(CXXFLAGS) $(INCLUDEFILES) -I$(LOCATION_PARI_H) $(PARI_DEFINE) -c Lcommandline_elliptic.cc175176Lcommandline_twist.o: ../include/Lcommandline_twist.h ../include/L.h177Lcommandline_twist.o: ../include/Lglobals.h ../include/Lcommon.h ../include/Lcomplex.h ../include/Lnumeric.h ../include/Lint_complex.h178@@ -239,10 +250,10 @@179Lcommandline_twist.o: ../include/Lcommandline_numbertheory.h180Lcommandline_twist.o: ../include/Lcommandline_globals.h181Lcommandline_twist.o: ../include/Lcommandline_elliptic.h182- $(CC) $(CCFLAGS) $(INCLUDEFILES) -I$(LOCATION_PARI_H) $(PARI_DEFINE) -c Lcommandline_twist.cc183+ $(CXX) $(CXXFLAGS) $(INCLUDEFILES) -I$(LOCATION_PARI_H) $(PARI_DEFINE) -c Lcommandline_twist.cc184185cmdline.o: ../include/cmdline.h ../include/getopt.h186-#$(CC) $(CCFLAGS) $(INCLUDEFILES) -DHAVE_LONG_LONG -c cmdline.c187+#$(CC) $(CXXFLAGS) $(INCLUDEFILES) -DHAVE_LONG_LONG -c cmdline.c188189190Lcommandline.o: ../include/Lcommandline.h ../include/L.h191@@ -258,21 +269,21 @@192Lcommandline.o: ../include/Lcommandline_elliptic.h193Lcommandline.o: ../include/Lcommandline_twist.h194Lcommandline.o: ../include/Lcommandline_values_zeros.h195- $(CC) $(CCFLAGS) $(INCLUDEFILES) -I$(LOCATION_PARI_H) $(PARI_DEFINE) -c Lcommandline.cc196+ $(CXX) $(CXXFLAGS) $(INCLUDEFILES) -I$(LOCATION_PARI_H) $(PARI_DEFINE) -c Lcommandline.cc197198199-libLfunction.so: $(OBJ_L)200- g++ -$(DYN_OPTION) -o libLfunction.so $(OBJ_L)201+libLfunction$(LIBEXT): $(OBJ_L)202+ $(CXX) -$(DYN_OPTION) $(CXXFLAG64) -o libLfunction$(LIBEXT) $(OBJ_L)203204clean:205- rm -f *.o lcalc libLfunction.so example_programs/example206+ rm -f *.o lcalc libLfunction$(LIBEXT) example_programs/example207208install:209- cp -f lcalc $(INSTALL_DIR)/bin/.210- cp -f libLfunction.so $(INSTALL_DIR)/lib/.211- cp -rf ../include $(INSTALL_DIR)/include/Lfunction212+ cp -f lcalc$(EXEEXT) $(INSTALL_DIR)/bin/.213+ cp -f libLfunction$(LIBEXT) $(INSTALL_DIR)/lib/.214+ cp -rf ../include $(INSTALL_DIR)/include/libLfunction215216217SRCS = Lcommandline.cc Lcommandline_elliptic.cc Lcommandline_globals.cc Lcommandline_misc.cc Lcommandline_numbertheory.cc Lcommandline_twist.cc Lcommandline_values_zeros.cc Lgamma.cc Lglobals.cc Lmisc.cc Lriemannsiegel.cc Lriemannsiegel_blfi.cc cmdline.c218depend:219- makedepend -f depends -- $(CCFLAGS) -Y../include -- $(SRCS)220+ makedepend -f depends -- $(CXXFLAGS) -Y../include -- $(SRCS)221222223