Changed win_gui cross compilation to use cleaner Qt setup

A separate cross compiler mkspecs file (win32-x-g++) is now used to
configure all build options so the setup-mingw-cross-compiling hack is
not needed anymore. Furthermore, the MinGW setup is now on path, so no
need to specify extra PATH changes for it.
This commit is contained in:
Jouni Malinen 2008-12-20 17:50:13 +02:00
parent e6f9861ace
commit 2ae2d8aea4
3 changed files with 16 additions and 26 deletions

View file

@ -1,7 +1,5 @@
#!/bin/sh #!/bin/sh
# Path to the Windows cross compiler (mingw)
WINCROSS=/opt/xmingw/bin
WINLOCAL=/home/jm/H-win/local WINLOCAL=/home/jm/H-win/local
set -e set -e
@ -54,8 +52,8 @@ if [ "$2" == "nobin" ]; then
exit 0 exit 0
fi fi
if [ -d $WINCROSS ]; then
pushd $RELDIR cd $RELDIR
PDIR=wpa_supplicant-$VER PDIR=wpa_supplicant-$VER
WDIR=wpa_supplicant-windows-bin-$VER WDIR=wpa_supplicant-windows-bin-$VER
@ -66,9 +64,8 @@ if [ -d $WINCROSS ]; then
CONFIG_DRIVER_NDIS=y CONFIG_DRIVER_NDIS=y
CONFIG_NATIVE_WINDOWS=y CONFIG_NATIVE_WINDOWS=y
CFLAGS += -I/opt/xmingw/i386-mingw32msvc/include/ddk CC=i586-mingw32msvc-gcc
CC=i386-mingw32msvc-gcc STRIP=i586-mingw32msvc-strip
STRIP=i386-mingw32msvc-strip
PLATFORMSDKLIB=$WINLOCAL/lib PLATFORMSDKLIB=$WINLOCAL/lib
CONFIG_NDIS_EVENTS_INTEGRATED=y CONFIG_NDIS_EVENTS_INTEGRATED=y
@ -107,7 +104,7 @@ CFLAGS += -DCONFIG_DEBUG_FILE
EOF EOF
# First, build the Windows service & registry version and rename it # First, build the Windows service & registry version and rename it
PATH=$PATH:$WINCROSS make windows-bin make windows-bin
mv wpa_supplicant.exe wpasvc.exe mv wpa_supplicant.exe wpasvc.exe
# Then, build "the standard" wpa_supplicant.exe # Then, build "the standard" wpa_supplicant.exe
@ -116,7 +113,7 @@ CONFIG_MAIN=main
CONFIG_BACKEND=file CONFIG_BACKEND=file
EOF EOF
PATH=$PATH:$WINCROSS make windows-bin make windows-bin
for i in COPYING; do for i in COPYING; do
unix2dos < ../$i > ../../"$WDIR"/$i unix2dos < ../$i > ../../"$WDIR"/$i
@ -128,16 +125,15 @@ EOF
cp win_example.reg ../../"$WDIR" cp win_example.reg ../../"$WDIR"
cd wpa_gui-qt4 cd wpa_gui-qt4
PATH=$PATH:$WINCROSS ./setup-mingw-cross-compiling qmake -spec win32-x-g++
PATH=$PATH:$WINCROSS make make
cp release/wpa_gui.exe ../../../"$WDIR" cp release/wpa_gui.exe ../../../"$WDIR"
cd ../../.. cd ../../..
rm -rf "$PDIR" rm -rf "$PDIR"
zip "$WDIR.zip" "$WDIR"/* zip "$WDIR.zip" "$WDIR"/*
rm -rf "$WDIR" rm -rf "$WDIR"
popd cd $RELDIR/..
fi
ls -l $RELDIR/*$VER* ls -l $RELDIR/*$VER*

View file

@ -1,13 +0,0 @@
#!/bin/sh
# qmake seems to be forcing include and lib paths from the original build
# and I have no idea how to change these. For now, just override the
# directories in the Makefile.Release file after qmake run.
qmake -spec /q/jm/qt4-win/4.3.3/mkspecs/win32-g++ wpa_gui.pro -o Makefile
cat Makefile.Release |
sed s%/usr/lib/qt4%/q/jm/qt4-win/4.3.3/lib%g |
sed s%/usr/include/qt4%/q/jm/qt4-win/4.3.3/include%g > tmp.Makefile.Release &&
mv -f tmp.Makefile.Release Makefile.Release
make -C icons

View file

@ -15,6 +15,13 @@ win32 {
DEFINES += CONFIG_NATIVE_WINDOWS CONFIG_CTRL_IFACE_NAMED_PIPE DEFINES += CONFIG_NATIVE_WINDOWS CONFIG_CTRL_IFACE_NAMED_PIPE
SOURCES += ../../src/utils/os_win32.c SOURCES += ../../src/utils/os_win32.c
RESOURCES += icons_png.qrc RESOURCES += icons_png.qrc
} else:win32-x-g++ {
# cross compilation to win32
LIBS += -lws2_32 -static -mwindows
DEFINES += CONFIG_NATIVE_WINDOWS CONFIG_CTRL_IFACE_NAMED_PIPE
DEFINES += _X86_
SOURCES += ../../src/utils/os_win32.c
RESOURCES += icons_png.qrc
} else { } else {
DEFINES += CONFIG_CTRL_IFACE_UNIX DEFINES += CONFIG_CTRL_IFACE_UNIX
SOURCES += ../../src/utils/os_unix.c SOURCES += ../../src/utils/os_unix.c