jauhien     14/06/19 13:08:44

  Added:                ntl-5.5.2-shared-r1.patch
  Log:
  fix bug #513660
  
  (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 
0xB2EFA1D4)

Revision  Changes    Path
1.1                  dev-libs/ntl/files/ntl-5.5.2-shared-r1.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/ntl/files/ntl-5.5.2-shared-r1.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/ntl/files/ntl-5.5.2-shared-r1.patch?rev=1.1&content-type=text/plain

Index: ntl-5.5.2-shared-r1.patch
===================================================================
--- 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',
--- 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




Reply via email to