From: <nn...@us...> - 2012-05-16 01:05:53
|
Revision: 4321 http://tora.svn.sourceforge.net/tora/?rev=4321&view=rev Author: nneul Date: 2012-05-16 01:05:45 +0000 (Wed, 16 May 2012) Log Message: ----------- add mingw32 files Added Paths: ----------- trunk/tora/mingw32/ trunk/tora/mingw32/000.tora32.fedora17.howto.txt trunk/tora/mingw32/001.get-svn-tora.sh trunk/tora/mingw32/002.build-tora.sh trunk/tora/mingw32/003.test-tora-wine.sh trunk/tora/mingw32/900.prepare-oracle-libs.sh trunk/tora/mingw32/901.build-qscintilla-release.sh trunk/tora/mingw32/Makefile.am.stdc.patch trunk/tora/mingw32/README.txt trunk/tora/mingw32/fedora-cross-compile.repo trunk/tora/mingw32/oracle.m4.patch trunk/tora/mingw32/tora.bat trunk/tora/mingw32/tora.ico trunk/tora/mingw32/tora.lnk Added: trunk/tora/mingw32/000.tora32.fedora17.howto.txt =================================================================== --- trunk/tora/mingw32/000.tora32.fedora17.howto.txt (rev 0) +++ trunk/tora/mingw32/000.tora32.fedora17.howto.txt 2012-05-16 01:05:45 UTC (rev 4321) @@ -0,0 +1,293 @@ + +Procedure to build Windows Tora MinGW 32 on Fedora 17 (beta) + +(A) Prepare the Fedora Linux development environment + + 0. This procedures assumes that a freshly-installed, pristine Fedora 17 x86_64 workstation or virtual machine + is available and a "tora" non-root user has been created. This how-to was created using a Fedora 17 x64 + (beta) KVM virtual machine running on a Fedora 16 x64 host. VMware and Oracle Virtualbox should work too. + Also, for the TORA MinGW 32 build, a Fedora 17 x686 machine should work too but the names of the MingGW + cross-compile commands will be slightly different. + + Root access is also required. Commands documented below run as root use the standard "#" command line + prompt while commands run as the tora user use the standard "$" prompt. (Hint, cut/paste the commands + shown below.) + + 1. Update all Fedora/Linux software + + This step ensures that the Fedora workstation or virtual machine is fully up-to-date. + + # yum update + + 2. Install the Linux development tools and libraries. + + This steps prepares the Fedora environment for development. + + # yum groupinstall "development libraries + + # yum groupinstall "development tools" + + Note: Sometimes the Fedora repositories are not synced properly. When this happens and the groupinstall + fails, add the --skip-broken option. Hopefully, everything needed for the TORa build is installed. + The alternative is to wait until the issue is resolved. + + # yum groupinstall --skip-broken "development libraries + + 3. Install WINE. + + *Trick* This Windows build is not a true cross-compile because the default tora configure script + still insists on running test programs to check if certain features are present. Happily and magically, + WINE is automatically invoked to run these programs. Later, the tora executable is run with WINE to verify that the + build was successful. + + # yum install wine + + 4. Install the MINGW64 development tools + + Copy the fedora-cross-compile.repo file to /etc/yum.repos.d. Upon first use, it will require the confirmation + of the repo key. + + # cp fedora-cross-compile.repo /etc/yum.repos.d + + # yum install mingw32* + + 5. Install wget. This is needed to download a component later. + + # yum install wget + + 6. Disable SELinux. + + Security-Enhanced Linux tends to be a nuisance and may disrupt the functioning of certain programs such as + WINE. Disable it by changing line 14 in file /etc/selinux/config. + + from SELINUX=enforcing + to: SELINUX=disabled + + 7. Reboot Fedora Linux to ensure that all new libraries, kernels, etc are enabled and to complete the + disabling of SELinux. + + # reboot + + +(B) Prepare the Tora64 environment + + 1. Obtain and deploy the Oracle Instant Client Windows x64 libraries. + + Create a Tora build directory + + $ mkdir -p /home/tora/Windows/Tora32 + $ cd /home/tora/Windows/Tora32 + $ pwd + /home/tora/Windows/Tora32 + + For this build, download the Windows the 11.2.0.3.0 instant client basic package and the corresponding + SDK and place them in the Tora32 build directory (/home/tora/Windows/Tora32). + + $ ls -l instant*zip + -rw-rw-r-- 1 tora tora 51149941 May 14 19:50 instantclient-basic-nt-11.2.0.3.0.zip + -rw-rw-r-- 1 tora tora 1110835 May 14 19:50 instantclient-sdk-nt-11.2.0.3.0.zip + + Unpack the zip archives. + + $ unzip instantclient-basic-nt-11.2.0.3.0.zip + $ unzip instantclient-sdk-nt-11.2.0.3.0.zip + + $ ls -l + total 56056 + -rw-r--r-- 1 tora tora 356 May 14 09:22 fedora-cross-compile.repo + drwxrwxr-x 5 tora tora 4096 May 14 19:56 instantclient_11_2 + -rw-rw-r-- 1 tora tora 51149941 May 14 19:50 instantclient-basic-nt-11.2.0.3.0.zip + -rw-rw-r-- 1 tora tora 1110835 May 14 19:50 instantclient-sdk-nt-11.2.0.3.0.zip + + Create a directory where the Oracle libraries are to be processed and staged for linking. This is + done in the next step. Copy the include directory and the library files to this directory. + + $ pwd + /home/tora/Windows/Tora32 + $ mkdir -p instantclient_11_2_lib/lib + $ cp -r instantclient_11_2/sdk/include instantclient_11_2_lib + $ cp instantclient_11_2/sdk/lib/msvc/*.lib instantclient_11_2_lib + $ $ ls -l instantclient_11_2_lib + total 1448 + drwxrwxr-x 2 tora tora 4096 May 14 19:58 include + drwxrwxr-x 2 tora tora 4096 May 14 19:57 lib + -rw-rw-r-- 1 tora tora 610876 May 14 19:58 oci.lib + -rw-rw-r-- 1 tora tora 14222 May 14 19:58 ociw32.lib + -rw-rw-r-- 1 tora tora 840804 May 14 19:58 oraocci11.lib + + + *Trick* Next step involves extracting mapping and extracting the library code from the Instant Client + DLLs and putting it in a library archive format so it can be linked in during the Tora build process. + To do this, a program called reimp.exe must be obtained from the site in a tarball: + + http://sourceforge.net/projects/mingw/files/MinGW/Extension/mingw-utils/mingw-utils-0.3/ + + Note, the version below must be used. The newer version does not work! + + $ wget http://sourceforge.net/projects/mingw/files/MinGW/Extension/mingw-utils/mingw-utils-0.3/mingw-utils-0.3.tar.gz + + Extract the reimp.exe program from the archive and copy it to the Instant Client working directory. + Also, clean up the bin and doc directories extracted from the tarball. + + $ tar xfvz mingw-utils-0.3.tar.gz + $ cp bin/reimp.exe instantclient_11_2_lib/ + $ rm -rf bin doc # clean up + + Deploy the 900.prepare-oracle-libs.sh script in the Tora build directory and run it. Note, this is a one-time + process unless another version of Oracle Instance client is used later. + + $ ./900.prepare-oracle-libs.sh + Create the .def files from oci.lib, ociw32.lib and oraocci10.lib + + rm -f oci.def ociw32.def oraocci11.def + + wine reimp -d oci.lib + + mv OCI.def oci.def + + wine reimp -d ociw32.lib + + mv OCIW32.def ociw32.def + + wine reimp -d oraocci11.lib + + set +x + Create the gcc .a libraries from the .def files + + rm -f lib/liboci.a lib/libociw32.a lib/liboraocci11.a lib/liboci.a + + /usr/bin/x86_64-w64-mingw32-dlltool -k --input-def ./oci.def --dllname oci.dll --output-lib lib/liboci.a + + /usr/bin/x86_64-w64-mingw32-dlltool -k --input-def ./ociw32.def --dllname ociw32.dll --output-lib lib/libociw32.a + + /usr/bin/x86_64-w64-mingw32-dlltool -k --input-def ./oraocci11.def --dllname oraocci11.dll --output-lib lib/liboraocci11.a + + set +x + + $ ls -l instantclient_11_2_lib/lib + total 7076 + total 4016 + -rw-rw-r-- 1 tora tora 2342266 May 14 20:03 liboci.a + -rw-rw-r-- 1 tora tora 56566 May 14 20:03 libociw32.a + -rw-rw-r-- 1 tora tora 1708156 May 14 20:03 liboraocci11.a + + + Download and compile the latest version of Qscintilla2. Be sure to use the Windows source! + + http://www.riverbankcomputing.co.uk/software/qscintilla/download + + $ wget http://www.riverbankcomputing.co.uk/static/Downloads/QScintilla2/QScintilla-gpl-2.6.1.tar.gz + $ tar xvfz QScintilla-gpl-2.6.1.tar.gz + + Deploy the 901.build-qscintilla-release.sh in the build directory (/home/tora/Windows/Tora64). Open this file with + an editor to verify that the QSCINTILLA_DIR is pointing to the correct directory for Qscintilla. Run this file. + + $ ./901.build-qscintilla-release.sh + ... lots of output not shown ... + Creating library file: release/libqscintilla2.a + make[1]: Leaving directory `/home/tora/Windows/Tora32/QScintilla-gpl-2.6.1/Qt4' + + +(C) Compile and test + + 1. Check that the patch files and other bits are in the build directory. The other bits are + files to be included in the .zip distribution file. + + $ ls -l *.patch + -rw-rw-r-- 1 tora tora 268 May 7 19:41 Makefile.am.stdc.patch + -rw-rw-r-- 1 tora tora 1022 May 7 19:41 oracle.m4.patch + + $ ls -l tora.bat tora.lnk tora.ico README.txt + -rw-rw-r-- 1 tora tora 990 May 7 20:49 README.txt + -rw-rw-r-- 1 tora tora 215 May 8 18:33 tora.bat + -rw-rw-r-- 1 tora tora 1078 May 7 19:41 tora.ico + -rw-rw-r-- 1 tora tora 1563 May 7 22:27 tora.lnk + + 2. Run the 001.get-svn-tora.sh which gets the latest release from the tora trunk. + Also, it "stamps" the source file to include the Subversion release number in + the title bar of the resultant executable. + + $ ./001.get-svn-tora.sh + + TMPF=/tmp/get-svn-tora.tmp + + rm -rf tora + + tee /tmp/get-svn-tora.tmp + + svn co https://tora.svn.sourceforge.net/svnroot/tora/trunk/tora tora + ... lots of output not shown ... + A tora/README.LICENSE + U tora + Checked out revision 4320. + ++ cut -f4 '-d ' + ++ tail -1 /tmp/get-svn-tora.tmp + ++ cut -f1 -d. + + VER=4320 + + echo 4320 + + mv tora tora.4320 + + cd tora.4320 + + sed 's/\[2\.1\.4\]/[2.1.4.4320]/' + + mv -f configure.ac- configure.ac + + + 3. Run the 002.build-tora.sh build script. + + $ ./002.build-tora.sh + + Or, if one wants to save the output and note how long it takes to build: + + $ time ./002.build-tora.sh 2>&1 | tee 002.build-tora.log + ++ cat CURRENT_REV + + REVISION=4320 + + export WIN32_ROOT=/home/tora/Windows/Tora32 + ... lots of output not shown ... + adding: tora-zd/README.txt (deflated 48%) + + cd /home/tora/Windows/Tora32 + + mv /tmp/tora-zd.4320.zip /home/tora/Windows/Tora32 + + 4. Test with WINE to see if the build was successful. This runs against the /tmp/tora-zd directory. + + *Trick* Create an SSH connection to another machine which has access to an Oracle database server or + directly to the database server itself. Below, the other machine is the virtual machine's KVM host (192.168.122.1) + and the Oracle 1521 port is forwarded to the database server (192.168.32.68). The -f and "sleep 10000" causes the + connection to go into the background and sleep for 10000 seconds. + + $ ssh -l zippy -f -L1521:192.168.32.68:1521 192.168.122.1 sleep 10000 + zippy@192.168.122.1's password: + + Run the 003.test-tora-wine.sh and use localhost for the Host entry field on the New Connection screen. + Redirect the noisy WINE output to the /dev/null and run in the background. + + $ ./003.test-tora-wine.sh > /dev/null 2>&1 & + + On a Windows 32bit machine: + (1) unzip the resultant distribution file (tora-zd.XXXX.zip - XXXX is the SVN revision) + (2) cut/paste the tora-zd folder into C:\Program Files + (3) copy/paste the tora shortcut (tora.lnk) to the Desktop, Quicklaunch panel or Start Menu + (4) Click the shortcut and enjoy! + + *Warning* This build includes the the Oracle Instant Client in the tora-zd folder. On a (production) + Oracle server, it is strongly recommended that the included Instant Client folder is deleted and + the tora-zd\bin\tora.bat is configured to point to the local Oracle client libraries. + + +(D) Other notes and troubleshooting + + 1. It is interesting and fun to rebuild and assess tora when something changes in the software stack: + + (1) the compiler: mingw32-gcc-c++-4.7.0-2.fc17.x86_64 + (2) the version of qt: mingw32-qt-4.8.1-2.fc17.noarch, mingw32-qt-qmake-4.8.1-2.fc17.x86_64, etc + (3) qscintilla2: QScintilla-gpl-2.6.1.zip + (4) Oracle: instantclient-basic-windows.11.2.0.3.0.zip, instantclient-sdk-nt-11.2.0.3.0.zip + (5) The release of tora in SVN. + + Review and update the 002.build-tora.sh and other associated scripts when these are changed. + + 2. This build is based on the tora-zd x86 build starting with Fedora 11. Occasionally, when moving to new versions + of Fedora/mingw32(64), the compile parameters can change or the DLL files which must be copied from the mingw + directories to the distribution package change (usually they DLL are split out to be more granular + as per their purpose). Review the 002.build-tora.sh for commands which have been commented-out but + left in the script file as historical documentation. + + 3. To-do: + + (1) Add support for MySQL, PostgreSQL. + + for the adventurous, this might be accomplished by installing the Linux source package of qt-mysql and try + compiling with the mingw32 compiler. The Windows MySQL libraries may have to be downloaded and processed + like the Oracle Instant Client libraries were. Ditto for qt-postgresql. + + $ yumdownloader --source qt-mysql + + (2) Implement a proper solution for handling the (purposeless?) chex.exe program. + + (3) Create a proper Windows installation program. The NSISWrapper looks promising. + + +Enjoy! + Added: trunk/tora/mingw32/001.get-svn-tora.sh =================================================================== --- trunk/tora/mingw32/001.get-svn-tora.sh (rev 0) +++ trunk/tora/mingw32/001.get-svn-tora.sh 2012-05-16 01:05:45 UTC (rev 4321) @@ -0,0 +1,23 @@ +#!/bin/sh + +set -x + +TMPF=/tmp/get-svn-tora.tmp + +# Checkout the tora trunk of the latest release +rm -rf tora +svn co https://tora.svn.sourceforge.net/svnroot/tora/trunk/tora tora | tee $TMPF + +# Checked out revision +VER=$(tail -1 $TMPF | cut -f4 -d' '| cut -f1 -d'.') +echo $VER > CURRENT_REV + +# Move directory to a cache directory +mv tora tora.$VER + +cd tora.$VER + +# Update the title bar to include the release version +sed "s/\[2\.1\.4\]/[2.1.4.$VER]/" < configure.ac > configure.ac- +mv -f configure.ac- configure.ac + Property changes on: trunk/tora/mingw32/001.get-svn-tora.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/tora/mingw32/002.build-tora.sh =================================================================== --- trunk/tora/mingw32/002.build-tora.sh (rev 0) +++ trunk/tora/mingw32/002.build-tora.sh 2012-05-16 01:05:45 UTC (rev 4321) @@ -0,0 +1,123 @@ +#!/bin/sh + +set -x + +# tora cache revision +REVISION=$(cat CURRENT_REV) + +# relevant directories and file locations +export WIN32_ROOT=/home/tora/Windows/Tora32 +export TORA_INSTALL_DIR=/tmp/tora-zd +export TORA_INSTALL_DIR_BIN=$TORA_INSTALL_DIR/bin +export QTDIR=/usr/i686-w64-mingw32/sys-root/mingw +export MINGW32_ROOT=$QTDIR +# QTLIB required to force use library files with a "4" on the end +export QTLIB=$QTDIR/lib +export QTINCLUDE=$QTDIR/include + +# configure needs to know where these are +export LRELEASE=/usr/lib64/qt4/bin/lrelease +export LUPDATE=/usr/lib64/qt4/bin/lupdate + +## export QSCINTILLA_DIR=$WIN32_ROOT/QScintilla-gpl-2.3.2 +export QSCINTILLA_DIR=$WIN32_ROOT/QScintilla-gpl-2.6.1 + +# orginal Oracle Instance client directory +export INSTANT_CLIENT_DIR=$WIN32_ROOT/instantclient_11_2 + +# these are where the *.a files are (which have been created from the original Oracle DDLs) +export OCILIB=$WIN32_ROOT/instantclient_11_2_lib/lib + +# set up the compiler flags +export CFLAGS="-O2 -Wall -mthreads -w -pipe \ + -DOTL_ORA_TIMESTAMP \ + -DOTL_ANSI_CPP \ + -DOTL_EXCEPTION_ENABLE_ERROR_OFFSET \ + -DQT_THREAD_SUPPORT -DTOMONOLITHIC -DWIN32 -D_WIN32 \ + -DWIN32 -D_WIN32" + +export CXXFLAGS=$CFLAGS + +# Set up the linker flags. Note, reference the Oracle libraries with absolute path (not with -l) +## Voodoo here! -static in F17 causes the link to fail! +#F16# export LDFLAGS="-s -static -L$WIN32_ROOT/instantclient_11_2_lib -lwsock32 \ +export LDFLAGS="-s -L$WIN32_ROOT/instantclient_11_2_lib -lwsock32 \ + $OCILIB/liboci.a $OCILIB/libociw32.a $OCILIB/liboraocci11.a -static-libgcc -static-libstdc++" + +# Use a pristine copy of the TOra source from a cached directory (tora.$revision) +rm -rf tora +cp -r tora.$REVISION tora + +# Kludge - use the Linux chex (WTF! is chex?) (Maybe try wine with w32 chex.exe sometime?) +## cp chex tora/utils/chex/ +## chmod 744 tora/utils/chex/chex +## cp tora_toad.h tora/src + +# Hack to prevent double-inclusion of stdc starting with F14 +patch -N tora/src/Makefile.am Makefile.am.stdc.patch + +# Set the ORACLE_HOME and LD_LIBRARY (must do this when not using --with-instant-client) +# export ORACLE_HOME=$OCILIB +export LD_LIBRARY_PATH=$ORACLE_HOME/lib + +# Kludge - hack oracle.m4 to remove clntsh token so not included in generated configure script +patch -N tora/config/m4/oracle.m4 oracle.m4.patch + +# Build the executable +cd tora +./autogen.sh + +./configure --prefix=$TORA_INSTALL_DIR \ + --without-x \ + --host=i686-w64-mingw32 \ + --with-oci-version=11G \ + --with-oracle-includes=$WIN32_ROOT/instantclient_11_2_lib/include \ + --with-oracle-libraries=$WIN32_ROOT/instantclient_11_2_lib/lib \ + --with-qt-dir=$QTLIB \ + --with-qt-includes=$QTINCLUDE \ + --with-qscintilla=$QSCINTILLA_DIR \ + --with-qscintilla-libraries=$QSCINTILLA_DIR/Qt4/release \ + --with-qscintilla-includes=$QSCINTILLA_DIR/include \ + +if [ $? -ne 0 ]; then + echo "configure failed [$?]" + exit +fi + +## Ugly hack: first make aborts because of chex. The second make carries on without error. +make +make +if [ $? -ne 0 ]; then + echo "make failed [$?]" + exit +fi + +rm -rf $TORA_INSTALL_DIR +make install + +## Copy Oracle Instant Client to Tora root directory +cp -r $WIN32_ROOT/instantclient_11_2 $TORA_INSTALL_DIR + +## Copy required mingw32 DDLs +cp $MINGW32_ROOT/bin/libgcc_s_sjlj-1.dll $TORA_INSTALL_DIR_BIN +cp $MINGW32_ROOT/bin/QtCore4.dll $TORA_INSTALL_DIR_BIN +cp $MINGW32_ROOT/bin/QtGui4.dll $TORA_INSTALL_DIR_BIN +cp $MINGW32_ROOT/bin/QtNetwork4.dll $TORA_INSTALL_DIR_BIN +cp $MINGW32_ROOT/bin/QtSql4.dll $TORA_INSTALL_DIR_BIN +cp $MINGW32_ROOT/bin/QtXml4.dll $TORA_INSTALL_DIR_BIN +cp $QSCINTILLA_DIR/Qt4/release/qscintilla2.dll $TORA_INSTALL_DIR_BIN +cp $MINGW32_ROOT/bin/libstdc++-6.dll $TORA_INSTALL_DIR_BIN +cp $MINGW32_ROOT/bin/zlib1.dll $TORA_INSTALL_DIR_BIN +cp $MINGW32_ROOT/bin/libpng15-15.dll $TORA_INSTALL_DIR_BIN +## Copy extras mingw32 +cp $WIN32_ROOT/tora.lnk $TORA_INSTALL_DIR_BIN +cp $WIN32_ROOT/tora.bat $TORA_INSTALL_DIR_BIN +cp $WIN32_ROOT/tora.ico $TORA_INSTALL_DIR_BIN +cp $WIN32_ROOT/README.txt $TORA_INSTALL_DIR + +cd /tmp +rm -f /tmp tora-zd.$REVISION.zip $WIN32_ROOT/tora-zd.$REVISION.zip +zip -b /tmp tora-zd.$REVISION.zip $(find tora-zd -print) +cd $WIN32_ROOT +mv /tmp/tora-zd.$REVISION.zip $WIN32_ROOT + Property changes on: trunk/tora/mingw32/002.build-tora.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/tora/mingw32/003.test-tora-wine.sh =================================================================== --- trunk/tora/mingw32/003.test-tora-wine.sh (rev 0) +++ trunk/tora/mingw32/003.test-tora-wine.sh 2012-05-16 01:05:45 UTC (rev 4321) @@ -0,0 +1,9 @@ +#!/bin/sh + +#set -x +export ROOTDIR=/tmp/tora-zd +export Path='Z:\\tmp\\tora-zd\\instantclient_11_2;Z:\\tmp\\tora-zd\\bin' +#export WINEDLLOVERRIDES="oci=n" +cd $ROOTDIR/bin +#wine cmd +wine tora.exe Property changes on: trunk/tora/mingw32/003.test-tora-wine.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/tora/mingw32/900.prepare-oracle-libs.sh =================================================================== --- trunk/tora/mingw32/900.prepare-oracle-libs.sh (rev 0) +++ trunk/tora/mingw32/900.prepare-oracle-libs.sh 2012-05-16 01:05:45 UTC (rev 4321) @@ -0,0 +1,24 @@ +#!/bin/sh + +ROOTDIR=/home/tora/Windows/Tora32 +DLLTOOL=/usr/bin/i686-w64-mingw32-dlltool + +cd $ROOTDIR/instantclient_11_2_lib + +echo "Create the .def files from oci.lib, ociw32.lib and oraocci10.lib" +set -x +rm -f oci.def ociw32.def oraocci11.def +wine reimp -d oci.lib +mv OCI.def oci.def +wine reimp -d ociw32.lib +mv OCIW32.def ociw32.def +wine reimp -d oraocci11.lib +set +x + +echo "Create the gcc .a libraries from the .def files" +set -x +rm -f lib/liboci.a lib/libociw32.a lib/liboraocci11.a lib/liboci.a +$DLLTOOL -k --input-def ./oci.def --dllname oci.dll --output-lib lib/liboci.a +$DLLTOOL -k --input-def ./ociw32.def --dllname ociw32.dll --output-lib lib/libociw32.a +$DLLTOOL -k --input-def ./oraocci11.def --dllname oraocci11.dll --output-lib lib/liboraocci11.a +set +x Property changes on: trunk/tora/mingw32/900.prepare-oracle-libs.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/tora/mingw32/901.build-qscintilla-release.sh =================================================================== --- trunk/tora/mingw32/901.build-qscintilla-release.sh (rev 0) +++ trunk/tora/mingw32/901.build-qscintilla-release.sh 2012-05-16 01:05:45 UTC (rev 4321) @@ -0,0 +1,30 @@ +#!/bin/sh + +# see http://trac.transmissionbt.com/wiki/BuildingTransmissionQtWindows + +set -x + +# relevant directories and file locations +export WIN32_ROOT=/home/tora/Windows/Tora32 + +# Update this as the version of Qscintilla changes +export QSCINTILLA_DIR=$WIN32_ROOT/QScintilla-gpl-2.6.1 + +cd $QSCINTILLA_DIR/Qt4 + +#export QMAKESPEC=/usr/x86_64-w64-mingw32/sys-root/mingw/share/qt4/mkspecs/win32-g++-cross-x64 +export QMAKESPEC=win32-g++-cross +export PKG_CONFIG_LIBDIR=/usr/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig + +# create the Makefile the QT way +#qmake-qt4 QT_LIBINFIX=4 qscintilla.pro +i686-w64-mingw32-qmake-qt4 QT_LIBINFIX=4 qscintilla.pro + +perl -pi -e 's/-fno-rtti//' Makefile.Debug Makefile.Release + +# shift a header file to lowercase +perl -pi -e 's/BaseTsd.h/basetsd.h/' ../include/Scintilla.h + +mingw32-make clean +mingw32-make + Property changes on: trunk/tora/mingw32/901.build-qscintilla-release.sh ___________________________________________________________________ Added: svn:executable + * Added: trunk/tora/mingw32/Makefile.am.stdc.patch =================================================================== --- trunk/tora/mingw32/Makefile.am.stdc.patch (rev 0) +++ trunk/tora/mingw32/Makefile.am.stdc.patch 2012-05-16 01:05:45 UTC (rev 4321) @@ -0,0 +1,10 @@ +--- Makefile.am.orig1 2011-02-19 11:38:56.693515635 -0500 ++++ Makefile.am 2011-02-19 11:39:00.251516000 -0500 +@@ -27,7 +27,6 @@ + AM_LDFLAGS = $(PCRE_LIBS) \ + $(QT_LDFLAGS) \ + $(LIB_DCOP) \ +- -lstdc++ \ + $(LIBPTHREAD) \ + $(ORACLE_LDFLAGS) \ + $(TERADATA_LDFLAGS) \ Added: trunk/tora/mingw32/README.txt =================================================================== --- trunk/tora/mingw32/README.txt (rev 0) +++ trunk/tora/mingw32/README.txt 2012-05-16 01:05:45 UTC (rev 4321) @@ -0,0 +1,22 @@ +How to install and run tora + +(1) Unzip the tora-zd.XXXX.ming32.zip file to the desktop or some other temporary directory. + +(2) Cut/paste the unzipped tora-zd directory into your C:\Program Files directory. + +(3) Optionally edit the tora-zd\bin\tora.bat file for the target workstation's + environment. Normally, the Oracle Instant Client is distributed with this build + inside the tora-zd directory and the tora.bat is pre-configured to use this. + If another Oracle client library is desired, then this directory can be deleted + and the tora.bat file updated accordingly. + + If Instant Client is not distributed with this package, the tora.bat file + will have to be edited. + + Alternatively, the Windows environmental variables can be updated instead. + Go to the Windows Control Panel-->System screen. + +(4) If step #3 was skipped, copy the tora-zd\bin\tora.lnk to the desktop, Windows + Quick Launch panel or to the user's start menu and click. Simple. + +Enjoy! Added: trunk/tora/mingw32/fedora-cross-compile.repo =================================================================== --- trunk/tora/mingw32/fedora-cross-compile.repo (rev 0) +++ trunk/tora/mingw32/fedora-cross-compile.repo 2012-05-16 01:05:45 UTC (rev 4321) @@ -0,0 +1,7 @@ +[fedora-cross] +name=fedora-cross +baseurl=http://build1.openftd.org/fedora-cross/f$releasever/$basearch +gpgcheck=1 +enabled=1 +gpgkey=http://build1.openftd.org/fedora-cross/RPM-GPG-KEY-Erik-van-Pienbroek +#exclude=cross-gcc*.fc15_cross* cross-cpp*.fc15_cross* mingw32-gcc*.fc15_cross* mingw32-cpp*.fc15_cross* mingw64-gcc*.fc15_cross* mingw64-cpp*.fc15_cross* Added: trunk/tora/mingw32/oracle.m4.patch =================================================================== --- trunk/tora/mingw32/oracle.m4.patch (rev 0) +++ trunk/tora/mingw32/oracle.m4.patch 2012-05-16 01:05:45 UTC (rev 4321) @@ -0,0 +1,32 @@ +--- tora.3302/config/m4/oracle.m4 2009-09-11 16:23:32.000000000 -0400 ++++ oracle.m4 2009-09-15 10:24:54.000000000 -0400 +@@ -54,7 +54,7 @@ + ora_cflags= + ora_libdir= + ora_ldflags= +- ora_lib=-lclntsh ++ ora_lib= + + if test $have_oracle = no; then + dnl yeah, this is backwards. +@@ -69,16 +69,16 @@ + + dnl try to find oracle includes for instant client + if test "x$oracle_user_lib" = "x"; then +- if test "`ls $instant_ora_libs/libclntsh*so 2>/dev/null || echo x`" != "x"; then ++ if test "`ls $instant_ora_libs/liboci*so 2>/dev/null || echo x`" != "x"; then + ora_ldflags=-L$instant_ora_libs + else + AC_MSG_ERROR([ +-The path "$instant_ora_libs"/libclntsh*so does not exist. ++The path "$instant_ora_libs"/liboci*so does not exist. + Because of the way Oracle versions its libraries, you need to create a + symlink to the library. Try something like this: + + cd $instant_ora_libs +-ln -s libclntsh.so.11.1 libclntsh.so ++ln -s liboci.so.11.1 liboci.so + ]) + fi + else + Added: trunk/tora/mingw32/tora.bat =================================================================== --- trunk/tora/mingw32/tora.bat (rev 0) +++ trunk/tora/mingw32/tora.bat 2012-05-16 01:05:45 UTC (rev 4321) @@ -0,0 +1,11 @@ +@echo off + +set TORA_DIR=C:\Program Files\tora-zd +set ORACLE_HOME=%TORA_DIR%\instantclient_11_2 +set TNS_ADMIN=%TORA_DIR% +set PATH=%ORACLE_HOME%;%ORACLE_HOME%\bin;%PATH% + +cd %TORA_DIR%\bin + +start tora.exe + Added: trunk/tora/mingw32/tora.ico =================================================================== (Binary files differ) Property changes on: trunk/tora/mingw32/tora.ico ___________________________________________________________________ Added: svn:mime-type + image/x-icon Added: trunk/tora/mingw32/tora.lnk =================================================================== (Binary files differ) Property changes on: trunk/tora/mingw32/tora.lnk ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |