You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
167 lines
4.2 KiB
167 lines
4.2 KiB
--- src/DoConfig.orig 2009-05-05 07:46:39.000000000 +0100
|
|
+++ src/DoConfig 2009-08-10 19:24:43.000000000 +0100
|
|
@@ -25,14 +25,16 @@
|
|
'LDFLAGS_CXX' => '$(LDFLAGS)',
|
|
'LDLIBS' => '-lm',
|
|
'LDLIBS_CXX' => '$(LDLIBS)',
|
|
+'PICFLAG' => '-fPIC',
|
|
'CPPFLAGS' => '',
|
|
|
|
-'DEF_PREFIX' => '/usr/local',
|
|
+'DEF_PREFIX' => '/usr',
|
|
|
|
'PREFIX' => '$(DEF_PREFIX)',
|
|
'LIBDIR' => '$(PREFIX)/lib',
|
|
'INCLUDEDIR' => '$(PREFIX)/include',
|
|
'DOCDIR' => '$(PREFIX)/share/doc',
|
|
+'SHMAKE' => 'non-gld',
|
|
|
|
'GMP_PREFIX' => '$(DEF_PREFIX)',
|
|
'GMP_INCDIR' => '$(GMP_PREFIX)/include',
|
|
@@ -87,11 +89,6 @@
|
|
|
|
foreach $arg (@ARGV) {
|
|
|
|
- if ($arg =~ '-h|help|-help|--help') {
|
|
- system("more ../doc/config.txt");
|
|
- exit;
|
|
- }
|
|
-
|
|
if (($name, $val) = ($arg =~ /(.*?)=(.*)/)) {
|
|
|
|
if (exists($MakeFlag{$name}) && ($val =~ 'on|off')) {
|
|
|
|
|
|
|
|
--- src/mfile.orig 2009-05-05 07:46:39.000000000 +0100
|
|
+++ src/mfile 2009-08-10 20:31:36.000000000 +0100
|
|
@@ -141,6 +146,16 @@
|
|
WIZARD=@{WIZARD}
|
|
# Set to off if you want to bypass the wizard; otherwise, set to on.
|
|
|
|
+###############################################################
|
|
+#
|
|
+# New addition for shared library building. With gcc you need to
|
|
+# choose the Position Indepent Code flag. You have a choice of
|
|
+# -fpic better code but in rare case not available (ppc)
|
|
+# -fPIC slightly slower code but guaranted to work anywhere.
|
|
+#
|
|
+###############################################################
|
|
+
|
|
+PICFLAG=@{PICFLAG}
|
|
|
|
#################################################################
|
|
#
|
|
@@ -173,6 +188,8 @@
|
|
|
|
OBJ=$(O19)
|
|
|
|
+SHOBJ=$(subst .o,.lo,$(OBJ))
|
|
+
|
|
# library source files
|
|
|
|
|
|
@@ -320,7 +356,7 @@
|
|
LINK = $(CC) $(NTL_INCLUDE) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS)
|
|
LINK_CXX = $(CXX) $(NTL_INCLUDE) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS_CXX)
|
|
|
|
-
|
|
+.SUFFIXES: .lo
|
|
|
|
# 'make all' does a complete make, including all setup.
|
|
# It also creates the file 'all', which means you should
|
|
@@ -328,11 +364,11 @@
|
|
# again.
|
|
|
|
all:
|
|
- make setup1
|
|
- make setup2
|
|
- make setup3
|
|
- make setup4
|
|
- make ntl.a
|
|
+ $(MAKE) setup1
|
|
+ $(MAKE) setup2
|
|
+ $(MAKE) setup3
|
|
+ $(MAKE) setup4
|
|
+ $(MAKE) ntl.a
|
|
touch all
|
|
|
|
|
|
@@ -378,18 +414,31 @@
|
|
lip.o: lip.c g_lip_impl.h c_lip_impl.h lip_gmp_aux_impl.h
|
|
$(LCOMP) $(COMPILE) $(GMP_OPT_INCDIR) lip.c
|
|
|
|
+lip.lo: lip.c g_lip_impl.h c_lip_impl.h lip_gmp_aux_impl.h
|
|
+ $(LCOMP) $(COMPILE) $(PICFLAG) $(GMP_INCDIR) lip.c -o lip.lo
|
|
+
|
|
+
|
|
+
|
|
ctools.o: ctools.c
|
|
$(LCOMP) $(COMPILE) ctools.c
|
|
|
|
+ctools.lo: ctools.c
|
|
+ $(LCOMP) $(COMPILE) $(PICFLAG) ctools.c -o ctools.lo
|
|
+
|
|
|
|
GetTime.o: GetTime.c
|
|
$(LCOMP) $(COMPILE) GetTime.c
|
|
|
|
-
|
|
+GetTime.lo: GetTime.c
|
|
+ $(LCOMP) $(COMPILE) $(PICFLAG) GetTime.c -o GetTime.lo
|
|
|
|
.c.o:
|
|
$(LCOMP) $(COMPILE_CXX) $(GF2X_OPT_INCDIR) $<
|
|
|
|
+.c.lo:
|
|
+ $(LCOMP) $(COMPILE_CXX) $(PICFLAG) $(GF2X_OPT_INCDIR) -o $@ $<
|
|
+
|
|
+
|
|
.c:
|
|
@{LSTAT} $(LINK_CXX) -o $@ $< ntl.a $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB) $(LDLIBS_CXX) #LSTAT
|
|
@{LSHAR} $(LIBTOOL) --mode=link $(LINK_CXX) -o $@ $< libntl.la #LSHAR
|
|
@@ -403,7 +452,7 @@
|
|
|
|
check:
|
|
sh RemoveProg $(PROGS)
|
|
- make QuickTest
|
|
+ $(MAKE) QuickTest
|
|
./QuickTest
|
|
sh RemoveProg QuickTest
|
|
sh TestScript
|
|
@@ -460,19 +509,18 @@
|
|
#
|
|
#################################################################
|
|
|
|
-clobber:
|
|
+clobber: clean
|
|
rm -f ntl.a mach_desc.h ../include/NTL/mach_desc.h GetTime.c
|
|
rm -f lip_gmp_aux_impl.h ../include/NTL/gmp_aux.h
|
|
- sh RemoveProg $(PROGS) MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux
|
|
- rm -f *.o
|
|
- rm -rf small
|
|
+ sh RemoveProg $(PROGS)
|
|
+ rm -f libntl*.so*
|
|
rm -f cfileout mfileout
|
|
rm -rf .libs *.lo libntl.la
|
|
rm -f all
|
|
|
|
clean:
|
|
sh RemoveProg MakeDesc TestGetTime gen_lip_gmp_aux gen_gmp_aux
|
|
- rm -f *.o
|
|
+ rm -f *.o *.lo
|
|
rm -rf small
|
|
@{LSHAR} - $(LIBTOOL) --mode=clean rm -f libntl.la *.lo #LSHAR
|
|
|
|
@@ -549,3 +597,10 @@
|
|
|
|
|
|
|
|
+sharedso: DIRNAME $(SHOBJ)
|
|
+ $(LINK_CXX) $(PICFLAG) -shared -Wl,-soname,lib`cat DIRNAME`.so -o lib`cat DIRNAME`.so $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
|
|
+ ln -s lib`cat DIRNAME`.so libntl.so
|
|
+
|
|
+shareddylib: DIRNAME $(SHOBJ)
|
|
+ $(LINK_CXX) $(PICFLAG) -dynamiclib -install_name $(LIBDIR)/lib`cat DIRNAME`.dylib -o lib`cat DIRNAME`.dylib $(SHOBJ) $(GMP_OPT_LIBDIR) $(GMP_OPT_LIB) $(GF2X_OPT_LIBDIR) $(GF2X_OPT_LIB)
|
|
+ ln -s lib`cat DIRNAME`.dylib libntl.dylib
|