Attached you find my current progress - a patch against your temp/msys
branch of msysgit.git.
As it turned out, python indeed is not necessary, but one has to
comment out the respective commands in autogen.sh or else important
parts of autogen do not get executed.
Also, I think the additional libtool installation is necessary. I
don't understand what you mean by msys/mingw modes of libtool - what
*I* mean is that in the temp/msys branch, the installation of libtool
seems to be incomplete so that you cannot run "libtoolize", which
autogen.sh tries to do and fails. (Try it: run "libtoolize" in the
subversion-1.4.6 directory.) The error message points to some missing
directories. Newly installing libtool fixes this.
My machine hasn't finished the build from a pristine tree yet
(everything so darn slow on windows), but with my yesterday's build I
was indeed able to create and install the full swig-pl modules.
git-svn could be started - except that I got some weird DLL mixup
error. Will continue to investigate. Also, suddenly I get an error
during building of neon/src/ saying "libtool: syntax error near
unexpected token |" which is due to an empty variable
global_symbol_pipe in the neon/libtool program. No idea where this
suddenly comes from; it didn't occur in my previous builds. Will
continue to investigate.
Good night,
Christian
>From e637871bd8fbbd3a949c4bd5c5bfb175cde20f90 Mon Sep 17 00:00:00 2001
From: unknown <[EMAIL PROTECTED](none)>
Date: Wed, 23 Jan 2008 00:27:17 +0100
Subject: [PATCH] Get subversion to compile with DLLs.
Requires full libtool (e.g. 1.5.22) to be installed beforehand to --prefix=
---
bin/ld2 | 4 +-
.../patches/0003-Add-LIBTOOL_WIN32-macro.patch | 51 ++++++++++
.../patches/0004-Fix-aprutils-makefile.patch | 25 +++++
...0005-Fix-mingw-detection-during-configure.patch | 34 +++++++
...-python-dependency-so-that-autogen-runs-u.patch | 97 ++++++++++++++++++++
src/subversion/release.sh | 12 ++-
6 files changed, 216 insertions(+), 7 deletions(-)
create mode 100644 src/subversion/patches/0003-Add-LIBTOOL_WIN32-macro.patch
create mode 100644 src/subversion/patches/0004-Fix-aprutils-makefile.patch
create mode 100644 src/subversion/patches/0005-Fix-mingw-detection-during-configure.patch
create mode 100644 src/subversion/patches/0006-Comment-out-python-dependency-so-that-autogen-runs-u.patch
diff --git a/bin/ld2 b/bin/ld2
index d80041d..5bb5f99 100644
--- a/bin/ld2
+++ b/bin/ld2
@@ -5,11 +5,11 @@
#
# own miniperl is first candidate 'cause it doesn not lock libperl.dll
-for trythis in /src/perl/perl-5.8.8/miniperl /src/perl/perl-5.8.8/perl perl
+for trythis in /src/perl/perl-5.8.8/miniperl /src/perl/perl-5.8.8/perl /bin/perl
do
if [ -x $trythis ]
then
- $trythis /src/perl/perl-5.8.8/perlld "$@"
+ $trythis /bin/perlld "$@"
exit $?
fi
done
diff --git a/src/subversion/patches/0003-Add-LIBTOOL_WIN32-macro.patch b/src/subversion/patches/0003-Add-LIBTOOL_WIN32-macro.patch
new file mode 100644
index 0000000..6fa5bab
--- /dev/null
+++ b/src/subversion/patches/0003-Add-LIBTOOL_WIN32-macro.patch
@@ -0,0 +1,51 @@
+From acc9794a48e39d515796955e1a2dec61d5b0f8be Mon Sep 17 00:00:00 2001
+From: Christian Stimming <[EMAIL PROTECTED]>
+Date: Tue, 22 Jan 2008 23:42:15 +0100
+Subject: [PATCH] Add LIBTOOL_WIN32 macro
+
+---
+ apr/configure.in | 1 +
+ configure.in | 1 +
+ neon/configure.in | 2 +-
+ 3 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/apr/configure.in b/apr/configure.in
+index b258fb4..89ac255 100644
+--- a/apr/configure.in
++++ b/apr/configure.in
+@@ -159,6 +159,7 @@ case $host in
+ $CC $CFLAGS $CPPFLAGS -o $LIBTOOL $LIBTOOL_SRC
+ else
+ dnl libtoolize requires that the following not be indented
++AC_LIBTOOL_WIN32_DLL
+ AC_PROG_LIBTOOL
+ # get libtool's setting of shlibpath_var
+ eval `grep "^shlibpath_var=[[A-Z_]]*$" $apr_builddir/libtool`
+diff --git a/configure.in b/configure.in
+index 4d433d4..f5a22ce 100644
+--- a/configure.in
++++ b/configure.in
+@@ -143,6 +143,7 @@ else
+ sh_libtool="$abs_builddir/libtool"
+ SVN_LIBTOOL="\$(SHELL) $sh_libtool"
+ dnl libtoolize requires that the following line not be indented
++AC_LIBTOOL_WIN32_DLL
+ AC_PROG_LIBTOOL
+ fi
+ AC_SUBST(SVN_LIBTOOL)
+diff --git a/neon/configure.in b/neon/configure.in
+index 0e9fb3b..0dbed8c 100644
+--- a/neon/configure.in
++++ b/neon/configure.in
+@@ -39,7 +39,7 @@ dnl Avoid libtool 1.5 bug where configure fails if a C++ compiler
+ dnl is not available.
+ m4_ifdef([AC_LIBTOOL_TAGS], [AC_LIBTOOL_TAGS([])])
+
+-AC_DISABLE_SHARED
++AC_LIBTOOL_WIN32_DLL
+ AC_PROG_LIBTOOL
+
+ AC_EXEEXT
+--
+1.5.4-rc3.GIT
+
diff --git a/src/subversion/patches/0004-Fix-aprutils-makefile.patch b/src/subversion/patches/0004-Fix-aprutils-makefile.patch
new file mode 100644
index 0000000..af11fdf
--- /dev/null
+++ b/src/subversion/patches/0004-Fix-aprutils-makefile.patch
@@ -0,0 +1,25 @@
+From 25fdc40f66defe1a4a2a7e4cf4556981cb00baf5 Mon Sep 17 00:00:00 2001
+From: Christian Stimming <[EMAIL PROTECTED]>
+Date: Tue, 22 Jan 2008 23:42:42 +0100
+Subject: [PATCH] Fix aprutils makefile
+
+---
+ apr-util/Makefile.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/apr-util/Makefile.in b/apr-util/Makefile.in
+index 1700892..a02fe2b 100644
+--- a/apr-util/Makefile.in
++++ b/apr-util/Makefile.in
+@@ -81,7 +81,7 @@ install: $(TARGET_LIB)
+
+ $(TARGET_LIB):
+ @objects="`find $(SUBDIRS) -name expat -prune -o -name '[EMAIL PROTECTED]@' -prune -o -name '[EMAIL PROTECTED]@' -print`"; \
+- tmpcmd="$(LINK) @lib_target@ @EXTRA_OS_LINK@"; \
++ tmpcmd="$(LINK) @lib_target@ $(APRUTIL_LIBS) @EXTRA_OS_LINK@"; \
+ echo $$tmpcmd; \
+ $$tmpcmd && touch $@
+
+--
+1.5.4-rc3.GIT
+
diff --git a/src/subversion/patches/0005-Fix-mingw-detection-during-configure.patch b/src/subversion/patches/0005-Fix-mingw-detection-during-configure.patch
new file mode 100644
index 0000000..231d738
--- /dev/null
+++ b/src/subversion/patches/0005-Fix-mingw-detection-during-configure.patch
@@ -0,0 +1,34 @@
+From 33e72e24d000cececb5e6a95dd68cfd03e487d5b Mon Sep 17 00:00:00 2001
+From: Christian Stimming <[EMAIL PROTECTED]>
+Date: Tue, 22 Jan 2008 23:43:03 +0100
+Subject: [PATCH] Fix mingw detection during configure
+
+---
+ configure.in | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index f5a22ce..b36e891 100644
+--- a/configure.in
++++ b/configure.in
+@@ -185,7 +185,7 @@ dnl It should always work but with libtool 1.4.3 on OS X it breaks the build.
+ dnl So we only turn it on for platforms where we know we really need it.
+ AC_MSG_CHECKING([whether libtool needs -no-undefined])
+ case $host in
+- *-*-cygwin*)
++ *-*-mingw32*)
+ AC_MSG_RESULT([yes])
+ LT_NO_UNDEFINED="-no-undefined"
+ ;;
+@@ -198,7 +198,7 @@ AC_SUBST(LT_NO_UNDEFINED)
+
+ AC_MSG_CHECKING([whether to avoid circular linkage at all costs])
+ case $host in
+- *-*-cygwin*)
++ *-*-mingw32*)
+ AC_MSG_RESULT([yes])
+ AC_DEFINE([SVN_AVOID_CIRCULAR_LINKAGE_AT_ALL_COSTS_HACK], 1,
+ [Define if circular linkage is not possible on this platform.])
+--
+1.5.4-rc3.GIT
+
diff --git a/src/subversion/patches/0006-Comment-out-python-dependency-so-that-autogen-runs-u.patch b/src/subversion/patches/0006-Comment-out-python-dependency-so-that-autogen-runs-u.patch
new file mode 100644
index 0000000..beb3a31
--- /dev/null
+++ b/src/subversion/patches/0006-Comment-out-python-dependency-so-that-autogen-runs-u.patch
@@ -0,0 +1,97 @@
+From 3e4d199d2de4d0e1771f0dbb93c9b2203811457c Mon Sep 17 00:00:00 2001
+From: unknown <[EMAIL PROTECTED](none)>
+Date: Wed, 23 Jan 2008 00:16:59 +0100
+Subject: [PATCH] Comment out python dependency so that autogen runs until end.
+
+---
+ autogen.sh | 74 ++++++++++++++++++++++++++++++------------------------------
+ 1 files changed, 37 insertions(+), 37 deletions(-)
+
+diff --git a/autogen.sh b/autogen.sh
+index fcb9507..1846c4b 100644
+--- a/autogen.sh
++++ b/autogen.sh
+@@ -60,43 +60,43 @@ fi
+ echo "Copying libtool helper: $ltfile"
+ cp $ltfile build/libtool.m4
+
+-# Create the file detailing all of the build outputs for SVN.
+-#
+-# Note: this dependency on Python is fine: only SVN developers use autogen.sh
+-# and we can state that dev people need Python on their machine. Note
+-# that running gen-make.py requires Python 2.X or newer.
+-
+-PYTHON="`./build/find_python.sh`"
+-if test -z "$PYTHON"; then
+- echo "Python 2.0 or later is required to run autogen.sh"
+- echo "If you have a suitable Python installed, but not on the"
+- echo "PATH, set the environment variable PYTHON to the full path"
+- echo "to the Python executable, and re-run autogen.sh"
+- exit 1
+-fi
+-
+-# Compile SWIG headers into standalone C files if we are in release mode
+-if test -n "$RELEASE_MODE"; then
+- echo "Generating SWIG code..."
+- # Generate build-outputs.mk in non-release-mode, so that we can
+- # build the SWIG-related files
+- "$PYTHON" ./gen-make.py build.conf || gen_failed=1
+-
+- # Build the SWIG-related files
+- make -f autogen-standalone.mk autogen-swig
+-fi
+-
+-if test -n "$SKIP_DEPS"; then
+- echo "Creating build-outputs.mk (no dependencies)..."
+- "$PYTHON" ./gen-make.py $RELEASE_ARGS -s build.conf || gen_failed=1
+-else
+- echo "Creating build-outputs.mk..."
+- "$PYTHON" ./gen-make.py $RELEASE_ARGS build.conf || gen_failed=1
+-fi
+-
+-if test -n "$RELEASE_MODE"; then
+- find build/ -name '*.pyc' -exec rm {} \;
+-fi
++# # Create the file detailing all of the build outputs for SVN.
++# #
++# # Note: this dependency on Python is fine: only SVN developers use autogen.sh
++# # and we can state that dev people need Python on their machine. Note
++# # that running gen-make.py requires Python 2.X or newer.
++
++# PYTHON="`./build/find_python.sh`"
++# if test -z "$PYTHON"; then
++# echo "Python 2.0 or later is required to run autogen.sh"
++# echo "If you have a suitable Python installed, but not on the"
++# echo "PATH, set the environment variable PYTHON to the full path"
++# echo "to the Python executable, and re-run autogen.sh"
++# exit 1
++# fi
++
++# # Compile SWIG headers into standalone C files if we are in release mode
++# if test -n "$RELEASE_MODE"; then
++# echo "Generating SWIG code..."
++# # Generate build-outputs.mk in non-release-mode, so that we can
++# # build the SWIG-related files
++# "$PYTHON" ./gen-make.py build.conf || gen_failed=1
++
++# # Build the SWIG-related files
++# make -f autogen-standalone.mk autogen-swig
++# fi
++
++# if test -n "$SKIP_DEPS"; then
++# echo "Creating build-outputs.mk (no dependencies)..."
++# "$PYTHON" ./gen-make.py $RELEASE_ARGS -s build.conf || gen_failed=1
++# else
++# echo "Creating build-outputs.mk..."
++# "$PYTHON" ./gen-make.py $RELEASE_ARGS build.conf || gen_failed=1
++# fi
++
++# if test -n "$RELEASE_MODE"; then
++# find build/ -name '*.pyc' -exec rm {} \;
++# fi
+
+ rm autogen-standalone.mk
+
+--
+1.5.4-rc3.GIT
+
diff --git a/src/subversion/release.sh b/src/subversion/release.sh
index 451a3f9..65191cd 100644
--- a/src/subversion/release.sh
+++ b/src/subversion/release.sh
@@ -10,7 +10,7 @@ url=http://subversion.tigris.org/downloads
d=subversion-$version
tar=$d.tar.bz2
tar2=subversion-deps-$version.tar.bz2
-configure_options=--prefix=
+configure_options="--prefix= --disable-static --enable-shared --build=i686-pc-mingw32"
# check for presence of libz (MSys), perl >= 5.8
perl -e 'require 5.8.0' || exit
@@ -28,12 +28,13 @@ extract &&
perl -i.bak -pe 's/CYGWIN/MSYS/g;s/cygwin/msys/g' \
$(find $d -name config.guess) $(find $d -name config.sub) &&
apply_patches &&
+(cd $d && ./autogen.sh) &&
setup &&
perl -i.bak -pe 's/(deplibs_check_method=).*/\1pass_all/' \
$(find $d -name libtool) &&
perl -i.bak -pe 's/(old_library=")(libexpat.a")/\1.libs\/\2/' \
$d/apr-util/xml/expat/lib/libexpat.la &&
-compile
+(cd $d && make LDFLAGS="-no-undefined -Wl,-enable-auto-import -L/lib" )
# update index
FILELIST=fileList.txt
@@ -42,12 +43,13 @@ pre_install
(cd $d && make install) || exit
-(cd $d && make swig-pl-lib && make install-swig-pl-lib &&
+(cd $d &&
+ make swig-pl-lib LDFLAGS="-no-undefined -Wl,-enable-auto-import -L/lib" LIBS="-L/lib/perl5/5.8.8/msys/CORE -lperl" &&
+ make install-swig-pl-lib &&
cd subversion/bindings/swig/perl/native &&
perl Makefile.PL &&
mv ../libsvn_swig_perl/.libs/Makefile* ./ &&
- perl -i.bak -pe 's/^CCFLAGS = /$&-Dstrtoll=strtol /;s/^LDLOADLIBS = .*/$& -lsvn_ra_dav-1 -lsvn_ra_svn-1 -lsvn_ra_local-1 -lsvn_repos-1 -lsvn_fs-1 -lsvn_fs_fs-1 -lsvn_delta-1 -lsvn_subr-1 -laprutil-0 -lapr-0 -lneon -lexpat -lz -L\/lib\/perl5\/5.8.8\/msys\/CORE\/ -lperl/' \
- Makefile* &&
+ make CCFLAGS=-Dstrtoll=strtol LDLOADLIBS="-L/lib -lsvn_ra_dav-1 -lsvn_ra_svn-1 -lsvn_ra_local-1 -lsvn_repos-1 -lsvn_fs-1 -lsvn_fs_fs-1 -lsvn_delta-1 -lsvn_subr-1 -laprutil-0 -lapr-0 -lneon -lexpat -lsvn_swig_perl-1 -lsvn_diff-1 -lsvn_client-1 -lsvn_ra-1 -lsvn_wc-1 -L/lib/perl5/5.8.8/msys/CORE/ -lperl -L/lib -lz" &&
make install) || exit
post_install
--
mingw.v1.5.2.4.534.gdfd188