Permalink
Fetching contributors…
Cannot retrieve contributors at this time
159 lines (112 sloc) 5.14 KB
MINGW BUILD
-----------
MinGW (Minimallist GNU for Windows) is a set of development tools for
generating native Windows code. It enables you to compile this toolbox
using configure and make, similar to Unix.
There are some specific things that you must set up by hand in
order to compile this toolbox with MinGW. The whole process consists
in the following steps
o Vist www.mingw.org, download and install the following packages:
MinGW, MSYS, and MSYS-DTK
o Your scilab installation must be in c:\scilab (/c/scilab in MSYS),
because this path is hardcoded in the build process. Please move
your scilab installation to that place or else put an entry in the
/etc/fstab file inside MSYS. You can also pass the SCIDIR variable
in the configure.ac file but this was not tested.
o Your ImageMagick (IM) installation must be in c:\imagemagick
(/c/imagemagick in MSYS). You can also pass the MAGICK_DIR var to
configure but this was not tested. The IM directory must also
contain the DLLs. For this, you have to check an option to
install C development stuff while installing it.
o In /c/imagemagick, add a "lib" prefix to all DLLs:
for i in *.dll; do cp $i lib$i; done
I think this could be avoided but I don't know how. Anyway,
it works.
NOTE: one must make sure that ImageMagick's import libs are not
used because they are incompatible with the GNU linker. Compilation
must see only the dlls, and proper import libs will be generated
automatically during the build process.
o Install the Animal library just like you would in Unix:
./configure
make
make install
o Inside /c/scilab/bin (MSYS path), we must rename the libraries
"LibScilab.*" to lowercase. Even though Windows is case
insensitive, the uppercase prefix "Lib" causes problem to programs
inside MSYS. This step can be quickly done inside the MSYS shell
typing this:
mkdir /tmp/scilibs
mv /c/scilab/bin/LibSci* /tmp/scilibs
cd /tmp/scilibs
for i in `ls Lib*`; do
mv $i /c/scilab/bin/`echo $i | tr A-Z a-z`;
done
o Enter the toolbox's toplevel directory, and type:
./configure
make
make install
o For some versions of libtool/automake you may have to install the
DLL of the toolbox by hand:
cp src/.libs/libsip*.dll /c/scilab/contrib/sip/lib/libsip.dll
o From a Unix/Linux installation (e.g. the linux binaries),
manually copy all the macros/*, man/*, images/* to the
corresponding directory /c/scilab/contrib/ . No, we did not pretend
to build the help and macro files under Windows, but it can be
done if scilab can be called from the commandline.
o Rename "dll" in loader_include.sce???
Now enter Scilab and execute the "loader.sce" script placed in the
directory where the toolbox was installed.
===================================
DEVELOPER's NOTES
The port using MinGW is not completely done yet. These are just some informal
notes to some developers.
Informal Notes
==============
DOING
->> Redo the steps, documenting more details and perfecting build/installation scripts
->> libsip stopped working <<
- I cannot compile the latest SIP:
undefined reference to animal_err_set_trace
- config files: solved with MAGICK_CONFIGURE_PATH
- modules: have to recompiled imagemagick without the "installed" option.
- reinstall each component
- ATTEMPT: use link to load libraries one by one, as in our Linux binaries
- hey this doesn't seem to be working
- If the ImageMagick installation directory is removed/moved, everything stops!
- but also the ImageMagick DLLs must be in the same directory of the
executables!
- TEST: in magick-hello, try to see if it still runs, even after renaming the
directory /c/imagemagick.
- DLL cannot find imagemagick config files other than the installed ones
- nasty solution: set the path in autoexec -- but user has reboot computer :(
- other option: edit registry
- yet another option: change s fontes do imagemagick
- it is a pain to recompile ImageMagick under windowze
- another option: try GraphicsMagick
TODO - Build System
- setenv only works in unix
- #define compression... 0
- dont use imagemagick's lib directory:
-L/imagemagick/ instead of /imagemagick/lib
TODO - Software itself
- Clear is not being issued in windowz- images are being overposed in the new
graphics mode
- try old mode
- try to find the cause/ report bug
- see if imshow's EXAMPLE works
After compiled:
- copy man/* sci/* generated and installed in Linux
(to generate them seamlessly under windows is a pain)
- maybe change configure so that these directories are taken into account on
Windows
- libsip.dll is not installed by libtool
- maybe do a install-hook?
----------------------------------------
----------------------------------------
Miscellaneous Hints
===================
If you want to compile ImageMagick using MinGW, here are some hints:
- mingw-delegates (in sip's SourceForge file archive)
- unpack it in mingw dir
- Speed up ImageMagick compilation by using:
./configure --without-magick-plus-plus