
#############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
####
####
#### Script "compile_gmic_and_gmic-gimp_plugin_32_win_gcc481.sh" pour compiler GMIC et le plugin G'MIC pour Gimp avec les sources de GIT 
#### Ce script est très simple :
####	- Il écrase la version GIT présente (Il n'éffectue pas de mise à jour).
####	- Il compile le plug-in.
####	- Il crée l'environnement complet du greffon dans le répertoire GMIC-GIMP-PLUGIN-32bit-WIN (en écrasant le répertoire existant).
####	- Il crée l'environnement complet de GMIC dans le répertoire GMIC-32bit-WIN (en écrasant le répertoire existant).
####	- Il crée l'archive gmic_gmic-gimp_win32.tar.xz 
#### 
#### Ce script "compile_gmic_and_gmic-gimp_plugin_32_win_gcc481.sh" fonctionne avec l'environnement de compilation 32 bits Windows disponible sur : http://www.aljacom.com/~gimp/petit-msys-mingw-gimp28.7z
#### Il faut l'installer dans "C:\petit-msys-mingw-gimp28".
####
#### Utilisation :
####	- Démarrer MSYS en cliquant sur "start_MSYS_GCC481.bat".
####	- Entrer les deux lignes de commandes qui suivent.
####			cd /env
####			./compile_gmic_and_gmic-gimp_plugin_32_win_gcc481.sh
####	- Il y a 71 opérations à effectuer. Attendre le message "FIN - END".
####	- L'ensemple pour faire fonctionner le plug-in est disponible dans le répertoire "GMIC-GIMP-PLUGIN-32bit-WIN" ( C:\petit-msys-mingw-gimp28\GMIC-GIMP-PLUGIN-32bit-WIN ).
####	- L'ensemple pour faire fonctionner GMIC disponible dans le répertoire "GMIC-32bit-WIN" ( C:\petit-msys-mingw-gimp28\GMIC-32bit-WIN ).
####
####
#### _______________________________________________________________________________________________________________________________________________________________________________________________
####
#### English translation
####
#### Script "compile_gmic_and_gmic-gimp_plugin_32_win_gcc481.sh" to compile GMIC and the plugin G'MIC for Gimp with sources from GIT
#### This script is very simple:
####	- It removes the GIT version on the computer (it does not perform the update).
####	- It compiles the plugin.
####	- It creates the entire environment for the plug-in in the "GMIC-GIMP-PLUGIN-32bit-WIN" directory (overwriting the existing directory)
####	- It creates the archive gmic_gmic-gimp_win32.tar.xz 
####
#### This script "compile_gmic_and_gmic-gimp_plugin_32_win_gcc481.sh" works with 32-bit build environment for Windows available :  http://www.aljacom.com/~gimp/petit-msys-mingw-gimp28.7z
#### It must be installed in "C:\petit-msys-mingw-gimp28".
####
#### Use:
####	- Start MSYS clicking "start_MSYS_GCC481.bat".
####	- Enter the two command lines that follow.
####			cd /env
####			./compile_gmic_and_gmic-gimp_plugin_32_win_gcc481.sh
####	- There are 71 operations to be performed. Wait for the message "FIN - END".
####	- The plug-in is available in the "GMIC-GIMP-PLUGIN-32bit-WIN" directory ( C:\petit-msys-mingw-gimp28\GMIC-GIMP-PLUGIN-32bit-WIN ).
####	- GMIC is available in the "GMIC-32bit-WIN" directory ( C:\petit-msys-mingw-gimp28\GMIC-32bit-WIN ).
####
####
#### version 4   20140211  par samj le 11 février 2014   Correction (2 commandes identiques sur culr.exe). Remarque : Remplacer si nécessaire la DLL libfftw3-3.dll par une version d'origine disponible sur ftp://ftp.fftw.org/pub/fftw/fftw-3.3.3-dll32.zip
#### version 3   20140127  par samj le 27 janvier 2014   Ajout -Dgmic_check_image
#### version 2   20140115  par samj le 15 janvier 2014   Ajout pour g'mic en ligne de commande  libwinpthread-1.dll
#### version 1   20140104  par samj le  4 janvier 2014
####
####
####
#############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################









#### Compilation de GMIC et du plug-in, création de l'archive gmic_gmic-gimp_win32.tar.xz 

Nombre_Operations=71
Repertoire_GIT=/env/gmic
Repertoire_Source=/env/gmic/src
Repertoire_Plugin=/env/GMIC-GIMP-PLUGIN-32bit-WIN
Repertoire_GMIC=/env/GMIC-32bit-WIN



echo 01/$Nombre_Operations
rm -f -r $Repertoire_GIT

echo 02/$Nombre_Operations
cd /env

echo 03/$Nombre_Operations
git clone git://git.code.sf.net/p/gmic/source gmic

echo 04/$Nombre_Operations
cd $Repertoire_Source

echo 05/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/i686-w64-mingw32-g++.exe -o gmic_gimp.o -c gmic.cpp -Dgmic_build -I/env/i686-4.8.1-release-win32/include -I/env/i686-4.8.1-release-win32/i686-w64-mingw32/include -I/mingw/include -I/python/include -pipe -O3 -mms-bitfields -march=i686 -s -Wall -W -mtune=generic -Dcimg_use_vt100 -Dgmic_is_parallel -Dgmic_is_beta=1 -Dcimg_use_fftw3 -Dcimg_use_png -Dcimg_use_zlib -Dcimg_use_tiff -Dcimg_use_jpeg -Dcimg_display=0 -Dcimg_use_rng -Dgmic_gimp -Dgmic_float_only -Dgmic_check_image

echo 06/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/i686-w64-mingw32-g++.exe -o gmic_gimp gmic_gimp.cpp gmic_gimp.o `gimptool-2.0.exe --cflags` -Dgmic_build -I/env/i686-4.8.1-release-win32/include -I/env/i686-4.8.1-release-win32/i686-w64-mingw32/include -I/mingw/include -I/python/include -pipe -O3 -mms-bitfields -march=i686 -s -Wall -W -mtune=generic -Dcimg_use_vt100 -Dgmic_is_parallel -Dgmic_is_beta=1 -Dcimg_use_fftw3 -Dcimg_use_png -Dcimg_use_zlib -Dcimg_use_tiff -Dcimg_use_jpeg -Dcimg_display=0 -Dcimg_use_rng -Dgmic_check_image `gimptool-2.0.exe --libs` -L/env/i686-4.8.1-release-win32/lib -L/env/i686-4.8.1-release-win32/i686-w64-mingw32/lib -L/mingw/lib -mwindows -lpthread -lm -lfftw3 -lpng16 -lz -ltiff -ljpeg

echo 07/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/strip.exe gmic_gimp.exe

echo 08/$Nombre_Operations
rm -f $Repertoire_Source/gmic_gimp.o

echo 09/$Nombre_Operations
rm -f -r $Repertoire_Plugin

echo 10/$Nombre_Operations
mkdir $Repertoire_Plugin

echo 11/$Nombre_Operations
mkdir $Repertoire_Plugin/_gmic

echo 12/$Nombre_Operations
cp /mingw/bin/libfftw3-3.dll $Repertoire_Plugin

echo 13/$Nombre_Operations
cp /env/i686-4.8.1-release-win32/bin/libgcc_s_dw2-1.dll $Repertoire_Plugin

echo 14/$Nombre_Operations
cp /mingw/bin/libjpeg-9.dll $Repertoire_Plugin

echo 15/$Nombre_Operations
cp /mingw/bin/liblzma-5.dll $Repertoire_Plugin

echo 16/$Nombre_Operations
cp /mingw/bin/libpng16-16.dll $Repertoire_Plugin

echo 17/$Nombre_Operations
cp /env/i686-4.8.1-release-win32/bin/libstdc++-6.dll $Repertoire_Plugin

echo 18/$Nombre_Operations
cp /mingw/bin/libtiff-5.dll $Repertoire_Plugin

echo 19/$Nombre_Operations
cp /mingw/bin/pthreadGC2-w32.dll $Repertoire_Plugin

echo 20/$Nombre_Operations
cp /mingw/bin/zlib1.dll $Repertoire_Plugin





echo 21/$Nombre_Operations
cp $Repertoire_Source/gmic_gimp.exe $Repertoire_Plugin

echo 22/$Nombre_Operations
cp /env/base/c/i686-w64-mingw32/lib/libgcc_s_sjlj-1.dll $Repertoire_Plugin

echo 23/$Nombre_Operations
rm -f $Repertoire_Source/gmic_gimp.exe

echo 24/$Nombre_Operations
cp /mingw/Preferences/old-plug-ins/_gmic/curl.exe $Repertoire_Plugin/_gmic


echo The plug-in GMIC-GIMP is compiled.
echo Now you have to be very patient because the compilation GMIC starts...






echo 25/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/i686-w64-mingw32-g++.exe -o gmic_bool.o -c gmic.cpp -Dgmic_build -I/mingw/include -I/env/i686-4.8.1-release-win32/include -I/env/i686-4.8.1-release-win32/i686-w64-mingw32/include -pipe -O3 -mms-bitfields -s -march=i686 -Wall -W -mtune=generic -Dgmic_is_parallel -Dcimg_display=2 -Dcimg_appname=\"gmic\" -Dcimg_use_zlib -Dcimg_use_png -Dcimg_use_jpeg -Dcimg_use_fftw3 -Dcimg_use_tiff -Dgmic_split_compilation -Dgmic_bool -Dgmic_check_image

echo 26/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/i686-w64-mingw32-g++.exe -o gmic_uchar.o -c gmic.cpp -Dgmic_build -I/mingw/include -I/env/i686-4.8.1-release-win32/include -I/env/i686-4.8.1-release-win32/i686-w64-mingw32/include -pipe -O3 -mms-bitfields -s -march=i686 -Wall -W -mtune=generic  -Dgmic_is_parallel -Dcimg_display=2 -Dcimg_appname=\"gmic\" -Dcimg_use_zlib -Dcimg_use_png -Dcimg_use_jpeg -Dcimg_use_fftw3 -Dcimg_use_tiff -Dgmic_split_compilation -Dgmic_uchar -Dgmic_check_image

echo 27/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/i686-w64-mingw32-g++.exe -o gmic_char.o -c gmic.cpp -Dgmic_build -I/mingw/include -I/env/i686-4.8.1-release-win32/include -I/env/i686-4.8.1-release-win32/i686-w64-mingw32/include -pipe -O3 -mms-bitfields -s -march=i686 -Wall -W -Dgmic_is_parallel -Dcimg_display=2 -Dcimg_appname=\"gmic\" -Dcimg_use_zlib -Dcimg_use_png -Dcimg_use_jpeg -Dcimg_use_fftw3 -Dcimg_use_tiff -Dgmic_split_compilation -Dgmic_char -Dgmic_check_image

echo 28/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/i686-w64-mingw32-g++.exe -o gmic_ushort.o -c gmic.cpp -Dgmic_build -I/mingw/include -I/env/i686-4.8.1-release-win32/include -I/env/i686-4.8.1-release-win32/i686-w64-mingw32/include -pipe -O3 -mms-bitfields -s -march=i686 -Wall -W -Dgmic_is_parallel -Dcimg_display=2 -Dcimg_appname=\"gmic\" -Dcimg_use_zlib -Dcimg_use_png -Dcimg_use_jpeg -Dcimg_use_fftw3 -Dcimg_use_tiff -Dgmic_split_compilation -Dgmic_ushort -Dgmic_check_image

echo 29/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/i686-w64-mingw32-g++.exe -o gmic_short.o -c gmic.cpp -Dgmic_build -I/mingw/include -I/env/i686-4.8.1-release-win32/include -I/env/i686-4.8.1-release-win32/i686-w64-mingw32/include -pipe -O3 -mms-bitfields -s -march=i686 -Wall -W -Dgmic_is_parallel -Dcimg_display=2 -Dcimg_appname=\"gmic\" -Dcimg_use_zlib -Dcimg_use_png -Dcimg_use_jpeg -Dcimg_use_fftw3 -Dcimg_use_tiff -Dgmic_split_compilation -Dgmic_short -Dgmic_check_image

echo 30/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/i686-w64-mingw32-g++.exe -o gmic_uint.o -c gmic.cpp -Dgmic_build -I/mingw/include -I/env/i686-4.8.1-release-win32/include -I/env/i686-4.8.1-release-win32/i686-w64-mingw32/include -pipe -O3 -mms-bitfields -s -march=i686 -Wall -W -Dgmic_is_parallel -Dcimg_display=2 -Dcimg_appname=\"gmic\" -Dcimg_use_zlib -Dcimg_use_png -Dcimg_use_jpeg -Dcimg_use_fftw3 -Dcimg_use_tiff -Dgmic_split_compilation -Dgmic_uint -Dgmic_check_image

echo 31/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/i686-w64-mingw32-g++.exe -o gmic_int.o -c gmic.cpp -Dgmic_build -I/mingw/include -I/env/i686-4.8.1-release-win32/include -I/env/i686-4.8.1-release-win32/i686-w64-mingw32/include -pipe -O3 -mms-bitfields -s -march=i686 -Wall -W -Dgmic_is_parallel -Dcimg_display=2 -Dcimg_appname=\"gmic\" -Dcimg_use_zlib -Dcimg_use_png -Dcimg_use_jpeg -Dcimg_use_fftw3 -Dcimg_use_tiff -Dgmic_split_compilation -Dgmic_int -Dgmic_check_image

echo 32/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/i686-w64-mingw32-g++.exe -o gmic_float.o -c gmic.cpp -Dgmic_build -I/mingw/include -I/env/i686-4.8.1-release-win32/include -I/env/i686-4.8.1-release-win32/i686-w64-mingw32/include -pipe -O3 -mms-bitfields -s -march=i686 -Wall -W -Dgmic_is_parallel -Dcimg_display=2 -Dcimg_appname=\"gmic\" -Dcimg_use_zlib -Dcimg_use_png -Dcimg_use_jpeg -Dcimg_use_fftw3 -Dcimg_use_tiff -Dgmic_split_compilation -Dgmic_float -Dgmic_main -Dgmic_check_image

echo 33/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/i686-w64-mingw32-g++.exe -o gmic_double.o -c gmic.cpp -Dgmic_build -I/mingw/include -I/env/i686-4.8.1-release-win32/include -I/env/i686-4.8.1-release-win32/i686-w64-mingw32/include -pipe -O3 -mms-bitfields -s -march=i686 -Wall -W -Dgmic_is_parallel -Dcimg_display=2 -Dcimg_appname=\"gmic\" -Dcimg_use_zlib -Dcimg_use_png -Dcimg_use_jpeg -Dcimg_use_fftw3 -Dcimg_use_tiff -Dgmic_split_compilation -Dgmic_double -Dgmic_check_image

echo 34/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/i686-w64-mingw32-g++.exe -o gmic.exe gmic_bool.o gmic_uchar.o gmic_char.o gmic_ushort.o gmic_short.o gmic_uint.o gmic_int.o gmic_float.o gmic_double.o -I/mingw/include -I/env/i686-4.8.1-release-win32/include -I/env/i686-4.8.1-release-win32/i686-w64-mingw32/include -lm -L/env/i686-4.8.1-release-win32/lib -L/env/i686-4.8.1-release-win32/i686-w64-mingw32/lib -L/mingw/lib -s -march=i686 -lpthread -lm -lgdi32 -lfftw3 -lpng16 -lz -ltiff -ljpeg

echo 35/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/strip.exe gmic.exe

echo 36/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/i686-w64-mingw32-g++.exe -o gmic-silent.exe gmic_bool.o gmic_uchar.o gmic_char.o gmic_ushort.o gmic_short.o gmic_uint.o gmic_int.o gmic_float.o gmic_double.o -I/mingw/include -I/env/i686-4.8.1-release-win32/include -I/env/i686-4.8.1-release-win32/i686-w64-mingw32/include -lm -L/env/i686-4.8.1-release-win32/lib -L/env/i686-4.8.1-release-win32/i686-w64-mingw32/lib -L/mingw/lib -s -march=i686 -mwindows -lpthread -lm -lgdi32 -lfftw3 -lpng16 -lz -ltiff -ljpeg

echo 37/$Nombre_Operations
/env/i686-4.8.1-release-win32/bin/strip.exe gmic-silent.exe

echo 38/$Nombre_Operations
rm -f $Repertoire_Source/gmic_bool.o

echo 39/$Nombre_Operations
rm -f $Repertoire_Source/gmic_char.o

echo 40/$Nombre_Operations
rm -f $Repertoire_Source/gmic_double.o

echo 41/$Nombre_Operations
rm -f $Repertoire_Source/gmic_float.o

echo 42/$Nombre_Operations
rm -f $Repertoire_Source/gmic_int.o

echo 43/$Nombre_Operations
rm -f $Repertoire_Source/gmic_short.o

echo 44/$Nombre_Operations
rm -f $Repertoire_Source/gmic_uchar.o

echo 45/$Nombre_Operations
rm -f $Repertoire_Source/gmic_uint.o

echo 46/$Nombre_Operations
rm -f $Repertoire_Source/gmic_ushort.o

echo 47/$Nombre_Operations
rm -f -r $Repertoire_GMIC

echo 48/$Nombre_Operations
mkdir $Repertoire_GMIC




echo 49/$Nombre_Operations
cp /mingw/bin/libfftw3-3.dll $Repertoire_GMIC

echo 50/$Nombre_Operations
cp /env/i686-4.8.1-release-win32/bin/libgcc_s_dw2-1.dll $Repertoire_GMIC

echo 51/$Nombre_Operations
cp /mingw/bin/libjpeg-9.dll $Repertoire_GMIC

echo 52/$Nombre_Operations
cp /mingw/bin/liblzma-5.dll $Repertoire_GMIC

echo 53/$Nombre_Operations
cp /mingw/bin/libpng16-16.dll $Repertoire_GMIC

echo 54/$Nombre_Operations
cp /env/i686-4.8.1-release-win32/bin/libstdc++-6.dll $Repertoire_GMIC

echo 55/$Nombre_Operations
cp /mingw/bin/libtiff-5.dll $Repertoire_GMIC

echo 56/$Nombre_Operations
cp /mingw/bin/pthreadGC2-w32.dll $Repertoire_GMIC

echo 57/$Nombre_Operations
cp /mingw/bin/zlib1.dll $Repertoire_GMIC



echo 58/$Nombre_Operations
cp /mingw/bin/libwinpthread-1.dll $Repertoire_GMIC



echo 59/$Nombre_Operations
cp /mingw/Preferences/old-plug-ins/_gmic/curl.exe $Repertoire_GMIC


echo 60/$Nombre_Operations
cp $Repertoire_Source/gmic.exe $Repertoire_GMIC

echo 61/$Nombre_Operations
cp $Repertoire_Source/gmic-silent.exe $Repertoire_GMIC





echo 62/$Nombre_Operations
cp /env/base/c/i686-w64-mingw32/lib/libgcc_s_sjlj-1.dll $Repertoire_GMIC




echo 63/$Nombre_Operations
rm -f $Repertoire_Source/gmic.exe

echo 64/$Nombre_Operations
rm -f $Repertoire_Source/gmic-silent.exe

echo 65/$Nombre_Operations
rm -f $Repertoire_Source/Start_Terminal_With_Test_GMIC.bat

echo 66/$Nombre_Operations
echo -e "cmd /T:0f /E:ON /K \"prompt $G&&cls&&gmic -verbose - 256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255 -window -1,-1,0,-1,TEST -wait 500&&echo Current Directory = %CD%&&echo You can type or paste a command recognized by GMIC&&echo For example :    gmic 256,256,1,4 -gimp_chessboard 32,32,0,0,0,1,0,0,0,255,255,255,255,255\"\n" > Start_Terminal_With_Test_GMIC.bat

echo 67/$Nombre_Operations
cp $Repertoire_Source/Start_Terminal_With_Test_GMIC.bat $Repertoire_GMIC

echo 68/$Nombre_Operations
rm -f $Repertoire_Source/Start_Terminal_With_Test_GMIC.bat

echo GMIC is compiled.
echo Creating the  gmic_gmic-gimp_win32.tar.xz  archive...

echo 69/$Nombre_Operations
rm -f /env/gmic_gmic-gimp_win32.tar.xz

echo 70/$Nombre_Operations
/usr/bin/tar.exe -cf /env/gmic_gmic-gimp_win32.tar /env/GMIC-32bit-WIN /env/GMIC-GIMP-PLUGIN-32bit-WIN

echo 71/$Nombre_Operations
/usr/bin/xz.exe -ze /env/gmic_gmic-gimp_win32.tar


echo FIN - END