Ticket #9167: spkg-take2.diff
File spkg-take2.diff, 12.9 KB (added by , 10 years ago) |
---|
-
.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 1 src/ -
SPKG.txt
diff --git a/SPKG.txt b/SPKG.txt
a b 68 68 69 69 == Changelog == 70 70 71 === ecl-12.7.1.p1 (Jean-Pierre Flori, 20 August 2012) === 72 * #9167: follow Cygwin's DLLs naming scheme. 73 71 74 === ecl-12.7.1.p0 (Jean-Pierre Flori, 27 November 2012) === 72 75 * #13324: upgrade to upstream version 12.7.1. 73 76 * 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.d2 --- src.orig/src/c/ffi/libraries.d 2012-11-27 21:02:11.047665129 +01003 +++ src/src/c/ffi/libraries.d 2012-11-27 21:02:24.999540043 +01004 @@ -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' 65 Seulement 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 11 Seulement 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