]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
* make possible to x-compile openvpn/win32 in Linux
authorJuanJo Ciarlante <jjo@google.com>
Thu, 24 Sep 2009 17:59:32 +0000 (19:59 +0200)
committerJuanJo Ciarlante <juanjosec@gmail.com>
Fri, 25 Mar 2011 12:30:29 +0000 (13:30 +0100)
install-win32/makeopenvpn [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index c1a805d..0f06a01
@@ -5,21 +5,41 @@ H=`pwd`
 # get version.nsi definitions
 . autodefs/defs.sh
 
-if gcc --version &>/dev/null && [ -d "$OPENSSL_DIR" ] && [ -d "$LZO_DIR" ] && [ -d "$PKCS11_HELPER_DIR" ]; then
+[ -z "$CC" ] && CC=gcc
+LZO_INC_DIR=$H/$LZO_DIR/include
+LZO_LIB_DIR=$H/$LZO_DIR
+PKCS11_INC_DIR=$H/$PKCS11_HELPER_DIR/usr/local/include
+PKCS11_LIB_DIR=$H/$PKCS11_HELPER_DIR/usr/local/lib
+XAUTOCONF=""
+
+case "`uname -o 2>/dev/null`" in
+  *inux) 
+    # cross-compiling, make dude's life easier
+    XAUTOCONF="--host=i586-mingw32msvc --build=i386-linux"
+    export CC=i586-mingw32msvc-gcc
+    export CXXCPP=i586-mingw32msvc-cpp
+    export CXX=i586-mingw32msvc-g++
+    # when cross-compiling from src, you'll typically get:
+    LZO_LIB_DIR=$H/$LZO_DIR/src/.libs
+    PKCS11_INC_DIR=$H/$PKCS11_HELPER_DIR/include/pkcs11-helper-1.0/
+    PKCS11_LIB_DIR=$H/$PKCS11_HELPER_DIR/lib/.libs/
+    ;;
+esac
+if $CC --version &>/dev/null && [ -d "$OPENSSL_DIR" ] && [ -d "$LZO_DIR" ] && [ -d "$PKCS11_HELPER_DIR" ]; then
     # build OpenVPN binary
 
     if ! [ -f Makefile ]; then
        autoreconf -i -v \
-       && ./configure \
+       && ./configure $XAUTOCONF \
            --enable-strict \
            --prefix=$H/windest \
            MAN2HTML=true \
            --with-ssl-headers=$H/$OPENSSL_DIR/include \
            --with-ssl-lib=$H/$OPENSSL_DIR/out \
-           --with-lzo-headers=$H/$LZO_DIR/include \
-           --with-lzo-lib=$H/$LZO_DIR \
-           --with-pkcs11-helper-headers=$H/$PKCS11_HELPER_DIR/usr/local/include \
-           --with-pkcs11-helper-lib=$H/$PKCS11_HELPER_DIR/usr/local/lib
+           --with-lzo-headers=$LZO_INC_DIR \
+           --with-lzo-lib=$LZO_LIB_DIR \
+           --with-pkcs11-helper-headers=$PKCS11_INC_DIR \
+           --with-pkcs11-helper-lib=$PKCS11_LIB_DIR
     fi
 
     make -j $MAKE_JOBS && make install