Ticket #9167: spkg-take2.diff

File spkg-take2.diff, 12.9 KB (added by kcrisman, 10 years ago)

For review only - based on JP's spkg

  • .hgignore

    # HG changeset patch
    # User Karl-Dieter Crisman <kcrisman@gmail.com>
    # Date 1354813130 18000
    # Node ID 98197a192636f40a5d7018cfc3ac0c36ea270137
    # Parent  4b7fdbbe0058ef3613d815bf76cf0742b543dd9e
    Trac 9167 - J-P Flori's changing dll naming convention so ECL works on Cygwin
    
    diff --git a/.hgignore b/.hgignore
    a b  
    1 src
     1src/
  • SPKG.txt

    diff --git a/SPKG.txt b/SPKG.txt
    a b  
    6868
    6969== Changelog ==
    7070
     71=== ecl-12.7.1.p1 (Jean-Pierre Flori, 20 August 2012) ===
     72 * #9167: follow Cygwin's DLLs naming scheme.
     73
    7174=== ecl-12.7.1.p0 (Jean-Pierre Flori, 27 November 2012) ===
    7275 * #13324: upgrade to upstream version 12.7.1.
    7376 * Add a patch (cygwin.patch) to let ECL build on Cygwin (integrated upstream).
  • deleted file patches/libraries.d.patch

    diff --git a/patches/libraries.d.patch b/patches/libraries.d.patch
    deleted file mode 100644
    + -  
    1 diff -ru src.orig/src/c/ffi/libraries.d src/src/c/ffi/libraries.d
    2 --- src.orig/src/c/ffi/libraries.d      2012-11-27 21:02:11.047665129 +0100
    3 +++ src/src/c/ffi/libraries.d   2012-11-27 21:02:24.999540043 +0100
    4 @@ -70,6 +70,7 @@
    5  #endif /* ENABLE_DLOPEN */
    6  #include <ecl/ecl-inl.h>
    7  #include <ecl/internal.h>
    8 +#include <sys/stat.h>
    9  
    10  #define GC_call_with_alloc_lock(f,arg) f(arg)
    11  
  • new file patches/src_Makefile.in.patch

    diff --git a/patches/src_Makefile.in.patch b/patches/src_Makefile.in.patch
    new file mode 100644
    - +  
     1--- src.orig/src/Makefile.in    2012-08-20 18:42:21.909723075 +0200
     2+++ src/src/Makefile.in 2012-08-20 18:39:46.749728842 +0200
     3@@ -174,10 +174,14 @@
     4          if test -s $$i ; then \
     5           if echo $$i | grep dll; then \
     6            $(INSTALL_LIBRARY) $$i $(DESTDIR)$(bindir); \
     7-          fi; \
     8-          $(INSTALL_LIBRARY) $$i $(DESTDIR)$(libdir); \
     9+          else \
     10+           $(INSTALL_LIBRARY) $$i $(DESTDIR)$(libdir); \
     11+          fi \
     12          fi \
     13        done
     14+       if [ "x@IMPLIB_NAME@" != "x" -a -f "@IMPLIB_NAME@" ]; then \
     15+         $(INSTALL_LIBRARY) @IMPLIB_NAME@ $(DESTDIR)$(libdir); \
     16+       fi
     17        if [ "x@SONAME@" != "x" -a -f "@SONAME@" ]; then \
     18          ( cd $(DESTDIR)$(libdir) && $(RM) -f @SONAME3@ @SONAME2@ @SONAME1@ && \
     19            mv @SONAME@ @SONAME3@ && \
  • new file patches/src_aclocal.m4.patch

    diff --git a/patches/src_aclocal.m4.patch b/patches/src_aclocal.m4.patch
    new file mode 100644
    - +  
     1--- src.orig/src/aclocal.m4     2012-08-20 18:42:21.329723093 +0200
     2+++ src/src/aclocal.m4  2012-08-20 18:39:45.981728872 +0200
     3@@ -232,6 +232,8 @@
     4 AC_SUBST(LIBEXT)
     5 AC_SUBST(SHAREDEXT)dnl Name components of a dynamically linked library
     6 AC_SUBST(SHAREDPREFIX)
     7+AC_SUBST(IMPLIB_EXT)dnl        Name components of a dynamically linked library import file
     8+AC_SUBST(IMPLIB_PREFIX)
     9 AC_SUBST(OBJEXT)dnl    These are set by autoconf
     10 AC_SUBST(EXEEXT)
     11 AC_SUBST(INSTALL_TARGET)dnl Which type of installation: flat directory or unix like.
     12@@ -241,6 +243,8 @@
     13 ECL_LDRPATH=''
     14 SHAREDEXT='so'
     15 SHAREDPREFIX='lib'
     16+IMPLIB_EXT=''
     17+IMPLIB_PREFIX=''
     18 LIBPREFIX='lib'
     19 LIBEXT='a'
     20 PICFLAG='-fPIC'
     21@@ -252,6 +256,8 @@
     22 clibs=''
     23 SONAME=''
     24 SONAME_LDFLAGS=''
     25+IMPLIB_NAME=''
     26+IMPLIB_LDFLAGS=''
     27 case "${host_os}" in
     28        # libdir may have a dollar expression inside
     29        linux*)
     30@@ -344,10 +350,14 @@
     31                shared='yes'
     32                THREAD_CFLAGS='-D_THREAD_SAFE'
     33                THREAD_LIBS='-lpthread'
     34-               SHARED_LDFLAGS="-shared ${LDFLAGS}"
     35-               BUNDLE_LDFLAGS="-shared ${LDFLAGS}"
     36-               SHAREDPREFIX=''
     37+               SHARED_LDFLAGS="-shared -Wl,--enable-auto-image-base ${LDFLAGS}"
     38+               BUNDLE_LDFLAGS="-shared -Wl,--enable-auto-image-base ${LDFLAGS}"
     39+               SHAREDPREFIX='cyg'
     40                SHAREDEXT='dll'
     41+               IMPLIB_PREFIX='lib'
     42+               IMPLIB_EXT='dll.a'
     43+               IMPLIB_NAME="${IMPLIB_PREFIX}ecl.${IMPLIB_EXT}"
     44+               IMPLIB_LDFLAGS="-Wl,--out-implib,${IMPLIB_NAME}"
     45                PICFLAG=''
     46                ;;
     47        mingw*)
     48@@ -357,10 +367,14 @@
     49                 enable_threads='yes'
     50                THREAD_CFLAGS='-D_THREAD_SAFE'
     51                THREAD_GC_FLAGS='--enable-threads=win32'
     52-               SHARED_LDFLAGS=''
     53-               BUNDLE_LDFLAGS=''
     54+               SHARED_LDFLAGS="-shared -Wl,--enable-auto-image-base ${LDFLAGS}"
     55+               BUNDLE_LDFLAGS="-shared -Wl,--enable-auto-image-base ${LDFLAGS}"
     56                SHAREDPREFIX=''
     57                SHAREDEXT='dll'
     58+               IMPLIB_PREFIX='lib'
     59+               IMPLIB_EXT='dll.a'
     60+               IMPLIB_NAME="${IMPLIB_PREFIX}ecl.${IMPLIB_EXT}"
     61+               IMPLIB_LDFLAGS="-Wl,--out-implib,${IMPLIB_NAME}"
     62                PICFLAG=''
     63                INSTALL_TARGET='flatinstall'
     64                TCPLIBS='-lws2_32'
     65Seulement dans src/src: autom4te.cache
  • new file patches/src_c_ffi_libraries.d.patch

    diff --git a/patches/src_c_ffi_libraries.d.patch b/patches/src_c_ffi_libraries.d.patch
    new file mode 100644
    - +  
     1--- src.orig/src/c/ffi/libraries.d      2012-08-20 18:42:23.009723031 +0200
     2+++ src/src/c/ffi/libraries.d   2012-08-20 18:39:48.173728789 +0200
     3@@ -70,6 +70,7 @@
     4 #endif /* ENABLE_DLOPEN */
     5 #include <ecl/ecl-inl.h>
     6 #include <ecl/internal.h>
     7+#include <sys/stat.h>
     8 
     9 #define GC_call_with_alloc_lock(f,arg) f(arg)
     10 
     11Seulement dans src/src/c/ffi: libraries.d.orig
  • new file patches/src_compile.lsp.in.patch

    diff --git a/patches/src_compile.lsp.in.patch b/patches/src_compile.lsp.in.patch
    new file mode 100644
    - +  
     1--- src.orig/src/compile.lsp.in 2012-08-20 18:42:20.949723111 +0200
     2+++ src/src/compile.lsp.in      2012-08-20 18:39:45.481728892 +0200
     3@@ -42,7 +42,7 @@
     4 ;;;
     5 ;;; * Add include path to not yet installed headers, and remove include flag
     6 ;;;   (-I) to installed directory, and Notice that we must explicitely mention
     7-;;;   libecl.so/ecl.dll instead of using -lecl. This is to avoid interference
     8+;;;   libecl.so/cygecl.dll instead of using -lecl. This is to avoid interference
     9 ;;;   with an already installed copy of ECL.
     10 ;;;
     11 (setq c::*cc-flags*
     12@@ -50,7 +50,7 @@
     13       #+msvc "@CFLAGS@ @ECL_CFLAGS@"
     14       c::*ecl-include-directory* "@true_builddir@/"
     15       c::*ecl-library-directory* "@true_builddir@/")
     16-#-:wants-dlopen
     17+#-:wants-dlopen
     18 (setf c::*ld-flags*
     19       "@LDFLAGS@ @LIBPREFIX@ecl.@LIBEXT@ @CORE_LIBS@ @LIBS@ @FASL_LIBS@")
     20 #+(and :wants-dlopen (not nonstop))
     21@@ -124,7 +124,7 @@
     22 ;;;
     23 ;;; We do not need the -rpath flag for the library, nor -lecl.
     24 ;;;
     25-(let* ((c::*ld-shared-flags* #-msvc "@SHARED_LDFLAGS@ @LDFLAGS@ @SONAME_LDFLAGS@ @CORE_LIBS@ @LIBS@ @FASL_LIBS@"
     26+(let* ((c::*ld-shared-flags* #-msvc " @IMPLIB_LDFLAGS@ @SHARED_LDFLAGS@ @LDFLAGS@ @SONAME_LDFLAGS@ @CORE_LIBS@ @LIBS@ @FASL_LIBS@"
     27                             #+msvc "@SHARED_LDFLAGS@ @LDFLAGS@ @STATICLIBS@ @CLIBS@")
     28        (c::*cc-flags* (concatenate 'string "-DECL_API -I@true_builddir@/c " c::*cc-flags*))
     29        (extra-args nil))
  • new file patches/src_configure.in.patch

    diff --git a/patches/src_configure.in.patch b/patches/src_configure.in.patch
    new file mode 100644
    - +  
     1--- src.orig/src/configure.in   2012-08-20 18:42:25.061722957 +0200
     2+++ src/src/configure.in        2012-08-20 18:39:50.849728693 +0200
     3@@ -570,6 +570,19 @@
     4 AC_SUBST(SONAME)
     5 AC_SUBST(SONAME_LDFLAGS)
     6 
     7+dnl ----------------------------------------------------------------------
     8+dnl IMPLIB_NAME is only active when IMPLIB_NAME is non nil
     9+dnl
     10+AC_MSG_CHECKING(for import name)
     11+if test "${enable_soname}" != yes; then
     12+   IMPLIB_NAME=''
     13+   AC_MSG_RESULT([none])
     14+else
     15+   AC_MSG_RESULT([${IMPLIB_NAME}])
     16+fi
     17+AC_SUBST(IMPLIB_NAME)
     18+AC_SUBST(IMPLIB_LDFLAGS)
     19+
     20 dnl Related to that, the package version number
     21 ECL_VERSION_NUMBER=$(($PACKAGE_MAJOR * 10000 + $PACKAGE_MINOR * 100 + $PACKAGE_LEAST))
     22 AC_SUBST(ECL_VERSION_NUMBER)
  • new file patches/src_configure.patch

    diff --git a/patches/src_configure.patch b/patches/src_configure.patch
    new file mode 100644
    - +  
     1--- src.orig/src/configure      2012-08-20 18:42:25.253722948 +0200
     2+++ src/src/configure   2012-08-20 18:40:38.161727146 +0200
     3@@ -709,6 +709,8 @@
     4 LIBEXT
     5 SHAREDEXT
     6 SHAREDPREFIX
     7+IMPLIB_EXT
     8+IMPLIB_PREFIX
     9 INSTALL_TARGET
     10 thehost
     11 ECL_GC_DIR
     12@@ -725,6 +727,8 @@
     13 SONAME1
     14 SONAME
     15 SONAME_LDFLAGS
     16+IMPLIB_NAME
     17+IMPLIB_LDFLAGS
     18 ECL_VERSION_NUMBER
     19 XMKMF
     20 CL_FIXNUM_TYPE
     21@@ -4513,10 +4517,13 @@
     22 
     23 
     24 
     25+
     26 ECL_GC_DIR=gc
     27 ECL_LDRPATH=''
     28 SHAREDEXT='so'
     29 SHAREDPREFIX='lib'
     30+IMPLIB_EXT=''
     31+IMPLIB_PREFIX=''
     32 LIBPREFIX='lib'
     33 LIBEXT='a'
     34 PICFLAG='-fPIC'
     35@@ -4528,6 +4535,8 @@
     36 clibs=''
     37 SONAME=''
     38 SONAME_LDFLAGS=''
     39+IMPLIB_NAME=''
     40+IMPLIB_LDFLAGS=''
     41 case "${host_os}" in
     42        # libdir may have a dollar expression inside
     43        linux*)
     44@@ -4620,10 +4629,14 @@
     45                shared='yes'
     46                THREAD_CFLAGS='-D_THREAD_SAFE'
     47                THREAD_LIBS='-lpthread'
     48-               SHARED_LDFLAGS="-shared ${LDFLAGS}"
     49-               BUNDLE_LDFLAGS="-shared ${LDFLAGS}"
     50-               SHAREDPREFIX=''
     51+               SHARED_LDFLAGS="-shared -Wl,--enable-auto-image-base ${LDFLAGS}"
     52+               BUNDLE_LDFLAGS="-shared -Wl,--enable-auto-image-base ${LDFLAGS}"
     53+               SHAREDPREFIX='cyg'
     54                SHAREDEXT='dll'
     55+               IMPLIB_PREFIX='lib'
     56+               IMPLIB_EXT='dll.a'
     57+               IMPLIB_NAME="${IMPLIB_PREFIX}ecl.${IMPLIB_EXT}"
     58+               IMPLIB_LDFLAGS="-Wl,--out-implib,${IMPLIB_NAME}"
     59                PICFLAG=''
     60                ;;
     61        mingw*)
     62@@ -4633,10 +4646,14 @@
     63                 enable_threads='yes'
     64                THREAD_CFLAGS='-D_THREAD_SAFE'
     65                THREAD_GC_FLAGS='--enable-threads=win32'
     66-               SHARED_LDFLAGS=''
     67-               BUNDLE_LDFLAGS=''
     68+               SHARED_LDFLAGS="-shared -Wl,--enable-auto-image-base ${LDFLAGS}"
     69+               BUNDLE_LDFLAGS="-shared -Wl,--enable-auto-image-base ${LDFLAGS}"
     70                SHAREDPREFIX=''
     71                SHAREDEXT='dll'
     72+               IMPLIB_PREFIX='lib'
     73+               IMPLIB_EXT='dll.a'
     74+               IMPLIB_NAME="${IMPLIB_PREFIX}ecl.${IMPLIB_EXT}"
     75+               IMPLIB_LDFLAGS="-Wl,--out-implib,${IMPLIB_NAME}"
     76                PICFLAG=''
     77                INSTALL_TARGET='flatinstall'
     78                TCPLIBS='-lws2_32'
     79@@ -5215,7 +5232,7 @@
     80 else
     81   ac_cv_header_stdc=no
     82 fi
     83-rm -f -r conftest*
     84+rm -f conftest*
     85 
     86 fi
     87 
     88@@ -5236,7 +5253,7 @@
     89 else
     90   ac_cv_header_stdc=no
     91 fi
     92-rm -f -r conftest*
     93+rm -f conftest*
     94 
     95 fi
     96 
     97@@ -6993,6 +7010,19 @@
     98 
     99 
     100 
     101+{ echo "$as_me:$LINENO: checking for import name" >&5
     102+echo $ECHO_N "checking for import name... $ECHO_C" >&6; }
     103+if test "${enable_soname}" != yes; then
     104+   IMPLIB_NAME=''
     105+   { echo "$as_me:$LINENO: result: none" >&5
     106+echo "${ECHO_T}none" >&6; }
     107+else
     108+   { echo "$as_me:$LINENO: result: ${IMPLIB_NAME}" >&5
     109+echo "${ECHO_T}${IMPLIB_NAME}" >&6; }
     110+fi
     111+
     112+
     113+
     114 ECL_VERSION_NUMBER=$(($PACKAGE_MAJOR * 10000 + $PACKAGE_MINOR * 100 + $PACKAGE_LEAST))
     115 
     116 
     117@@ -7058,7 +7088,7 @@
     118       eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
     119     done
     120     # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
     121-    for ac_extension in a so sl dylib la dll; do
     122+    for ac_extension in a so sl; do
     123       if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" &&
     124         test -f "$ac_im_libdir/libX11.$ac_extension"; then
     125        ac_im_usrlibdir=$ac_im_libdir; break
     126@@ -7211,7 +7241,7 @@
     127 for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
     128 do
     129   # Don't even attempt the hair of trying to link an X program!
     130-  for ac_extension in a so sl dylib la dll; do
     131+  for ac_extension in a so sl; do
     132     if test -r "$ac_dir/libX11.$ac_extension"; then
     133       ac_x_libraries=$ac_dir
     134       break 2
     135@@ -7752,7 +7782,7 @@
     136 else
     137   ac_cv_header_stdc=no
     138 fi
     139-rm -f -r conftest*
     140+rm -f conftest*
     141 
     142 fi
     143 
     144@@ -7773,7 +7803,7 @@
     145 else
     146   ac_cv_header_stdc=no
     147 fi
     148-rm -f -r conftest*
     149+rm -f conftest*
     150 
     151 fi
     152 
     153@@ -11836,7 +11866,7 @@
     154 else
     155   ac_cv_prog_gcc_traditional=no
     156 fi
     157-rm -f -r conftest*
     158+rm -f conftest*
     159 
     160 
     161   if test $ac_cv_prog_gcc_traditional = no; then
     162@@ -11853,7 +11883,7 @@
     163   $EGREP "$ac_pattern" >/dev/null 2>&1; then
     164   ac_cv_prog_gcc_traditional=yes
     165 fi
     166-rm -f -r conftest*
     167+rm -f conftest*
     168 
     169   fi
     170 fi
     171@@ -13062,7 +13092,7 @@
     172 #define SELECT_TYPE_ARG5 ($3)
     173 _ACEOF
     174 
     175-rm -f -r conftest*
     176+rm -f conftest*
     177 
     178 { echo "$as_me:$LINENO: checking return type of signal handlers" >&5
     179 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; }
     180@@ -15242,8 +15272,8 @@
     181 LIBEXT!$LIBEXT$ac_delim
     182 SHAREDEXT!$SHAREDEXT$ac_delim
     183 SHAREDPREFIX!$SHAREDPREFIX$ac_delim
     184-INSTALL_TARGET!$INSTALL_TARGET$ac_delim
     185-thehost!$thehost$ac_delim
     186+IMPLIB_EXT!$IMPLIB_EXT$ac_delim
     187+IMPLIB_PREFIX!$IMPLIB_PREFIX$ac_delim
     188 _ACEOF
     189 
     190   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
     191@@ -15285,6 +15315,8 @@
     192 ac_delim='%!_!# '
     193 for ac_last_try in false false false false false :; do
     194   cat >conf$$subs.sed <<_ACEOF
     195+INSTALL_TARGET!$INSTALL_TARGET$ac_delim
     196+thehost!$thehost$ac_delim
     197 ECL_GC_DIR!$ECL_GC_DIR$ac_delim
     198 INFOEXT!$INFOEXT$ac_delim
     199 INSTALL_INFO!$INSTALL_INFO$ac_delim
     200@@ -15299,6 +15331,8 @@
     201 SONAME1!$SONAME1$ac_delim
     202 SONAME!$SONAME$ac_delim
     203 SONAME_LDFLAGS!$SONAME_LDFLAGS$ac_delim
     204+IMPLIB_NAME!$IMPLIB_NAME$ac_delim
     205+IMPLIB_LDFLAGS!$IMPLIB_LDFLAGS$ac_delim
     206 ECL_VERSION_NUMBER!$ECL_VERSION_NUMBER$ac_delim
     207 XMKMF!$XMKMF$ac_delim
     208 CL_FIXNUM_TYPE!$CL_FIXNUM_TYPE$ac_delim
     209@@ -15323,7 +15357,7 @@
     210 LTLIBOBJS!$LTLIBOBJS$ac_delim
     211 _ACEOF
     212 
     213-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 36; then
     214+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 40; then
     215     break
     216   elif $ac_last_try; then
     217     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5