Subject: feedback on 'dia win32 compilation' instructions
Date: Sun, 12 Jan 2003 18:55:48 -0800 (PST)
Steffen,
I was finally able to test out your 'dia win32
compilation'
instructions, and have attached my step-by-step notes
on the
experience. By and large, everything went fairly
smoothly. Thanks again for your efforts!
biggest thing I tripped over was figuring out the need
to add
'art_config.h' into the .\glib\build\win32\make.msc
On the run-time side, I had to rename the libintl.dll
file 'libintl-1.dll', and had to copy iconv.dll as
libiconv.dll (somehow, both are needed!)
Only problem with the executable is the lack of any
sheets.
(FWIW, File->Plugins shows that all plug-ins are
loaded)
Any ideas how to fix this?
thx, Mike
--- Steffen Macke <sdteffen@web.de> wrote:
> Hello All,
>
> with some help from Hans, I was able to compile dia
> for Win32.
>
> http://dia-installer.sourceforge.net
>
> has step-by-step instructions how to compile the
> CVS version as well as all the required developer
> packages.
>
> Steffen
>
__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com
==========================
1. unpack build files
==========================
uncompress the following files to $(TOP)
atk-1.0.3-20020821.zip
atk-dev-1.0.3-20020821.zip
dia-CVS-20030105-0823.tar.gz
gettext-0.10.40-bin.zip
gettext-0.10.40-lib.zip
glib-2.0.7-20021201.zip
glib-2.0.7-20021201-src.zip
glib-dev-2.0.7-20021201.zip
gtk+-2.0.9-20021201.zip
gtk+-dev-2.0.9-20021201.zip
libart-2.3.3-1-lib.zip
libart-2.3.3-bin.zip
libiconv-1.8-w32-1.bin.zip
libpng-1.2.4-1-bin.zip
libpng-1.2.4-1-lib.zip
libxml2-2.4.12-1-lib.zip
libxml2-2.4.12-bin.zip
pango-1.0.5-20021201.zip
pango-dev-1.0.5-20021201.zip
zlib-1.1.4-bin.zip
zlib-1.1.4-lib.zip
==========================
2. setup build environment:
==========================
2.1 in the $(TOP) directory, create/run the 'configure_dia_msvc.bat' script....
copy dia\config.h.win32 dia\config.h
move glib-2.0.7 glib
copy glib\glibconfig.h.win32 glib\glibconfig.h
copy lib\gtk-2.0\include\gdkconfig.h include\gtk-2.0\
copy libiconv-1.8-w32-1.bin\*.h include
2.2 edit .\glib\build\win32\make.msc
update the following elements as follows:
-----------------------------------------
ATK_CFLAGS = -I$(TOP)\include\$(ATK)
ATK_LIBS = $(TOP)\lib\atk-$(ATK_VER).lib
GDK_PIXBUF_LIBS = $(TOP)\lib\gdk_pixbuf-$(GDK_PIXBUF_VER).lib
GLIB_CFLAGS = -I $(GLIB) -I $(GLIB)\glib -I $(GLIB)\gmodule $(INTL_CFLAGS)
GLIB_LIBS = $(TOP)\lib\glib-$(GLIB_VER).lib $(TOP)\lib\gmodule-$(GLIB_VER).lib $(TOP)\lib\gobject-$(GLIB_VER).lib
GTK2_CFLAGS = $(GLIB_CFLAGS) $(ATK_CFLAGS) -I$(GTK2)\gdk -I$(GTK2)\gdk -I$(TOP)\include\gtk-2.0 -I$(TOP)\include\$(PANGO)
GTK2_LIBS = $(TOP)\lib\gtk-win32-$(GTK2_VER).lib $(TOP)\lib\gdk-win32-$(GTK2_VER).lib $(GDK_PIXBUF_LIBS) $(PANGO_LIBS)
INTL_CFLAGS = -I $(TOP)\include
INTL_LIBS = $(TOP)\lib\libintl.lib
LIBART_CFLAGS = -FI$(TOP)\include\libart_lgpl\art_config.h
LIBART_LIBS = $(TOP)\lib\libart_lgpl.lib
LIBICONV_CFLAGS = -I $(TOP)\include
LIBICONV_LIBS = $(LIBICONV)\lib\iconv.lib
LIBXML2_CFLAGS = -I $(TOP)\include\$(LIBXML2)
LIBXML2_LIBS = $(TOP)\lib\libxml$(LIBXML_VER).lib
PANGO_CFLAGS = -I $(TOP)\include\$(PANGO)
PANGO_LIBS = $(TOP)\lib\pango-$(PANGO_VER).lib
PANGOWIN32_LIBS = $(PANGO_LIBS) $(TOP)\lib\pangowin32-$(PANGO_VER).lib
PNG_CFLAGS = -I $(TOP)\include\$(PNG) $(ZLIB_CFLAGS)
PNG_LIBS = $(TOP)\lib\libpng.lib $(ZLIB_LIBS)
ZLIB_CFLAGS = -I $(TOP)\include\$(ZLIB)
ZLIB_LIBS = $(TOP)\lib\libz.lib
2.3 edit .\glib\build\win32\module.defs
update:
LIBXML_VER = 2
2.4 setup environment variables:
add '{$TOP}\lib\' to LIB environment variable
add '{$TOP}\include\' to INCLUDE environment variable
add '{$TOP}\bin' to PATH environment variable
note: replace {$TOP} with the full path location of $(TOP)
also, these were the only environment variable changes
I needed to make, since I had installed MSVC 6.0 with
it automatically setting its critical environment variables.
here is how my 'include' and 'lib' environment variables are set:
include=C:\Program Files\Microsoft Visual Studio\VC98\atl\include;
C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;
C:\Program Files\Microsoft Visual Studio\VC98\include;
f:\dia-build-area\include\
lib=C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;
C:\Program Files\Microsoft Visual Studio\VC98\lib;
f:\dia-build-area\lib\
==========================
3. build everything
==========================
cd lib
nmake makefile.msc
cd ../app
nmake makefile.msc
cd ../objects
nmake makefile.msc
cd ../plug-ins
nmake makefile.msc
==========================
4. setup run environment
==========================
4.1 edit .\dia\makefile.msc
in 'all:'
----------------------------
change:
'libcharset.dll' to 'localcharset.dll'
change ' build\win32\bin\libiconv.dll:' to the following:
build\win32\bin\libiconv.dll: build\win32\bin ..\libiconv-1.8-w32-1.bin\iconv.dll
copy ..\libiconv-1.8-w32-1.bin\iconv.dll build\win32\bin
copy ..\libiconv-1.8-w32-1.bin\iconv.dll build\win32\bin\libiconv.dll
change ' build\win32\bin\libcharset.dll:' to the following:
build\win32\bin\localcharset.dll: build\win32\bin ..\libiconv-1.8-w32-1.bin\localcharset.dll
copy ..\libiconv-1.8-w32-1.bin\localcharset.dll build\win32\bin
add:
build\win32\bin\libintl.dll
build\win32\shapes \
build\win32\sheets \
build\win32\plug-ins
append the following rules:
----------------------------
build\win32\bin\libintl.dll: build\win32\bin
copy ..\bin\libintl.dll build\win32\bin\libintl-1.dll
build\win32\shapes: build\win32
md build\win32\shapes
xcopy /s .\shapes\* build\win32\shapes\.
build\win32\sheets: build\win32
md build\win32\sheets
copy sheets\Assorted.sheet.in build\win32\sheets\Assorted.sheet
copy sheets\chronogram.sheet.in chronogram.sheet
copy sheets\Circuit.sheet.in build\win32\sheets\Circuit.sheet
copy sheets\ciscocomputer.sheet.in build\win32\sheets\ciscocomputer.sheet
copy sheets\ciscohub.sheet.in build\win32\sheets\ciscohub.sheet
copy sheets\ciscomisc.sheet.in build\win32\sheets\ciscomisc.sheet
copy sheets\cisconetwork.sheet.in build\win32\sheets\cisconetwork.sheet
copy sheets\ciscorouter.sheet.in build\win32\sheets\ciscorouter.sheet
copy sheets\civil.sheet.in build\win32\sheets\civil.sheet
copy sheets\Contact.sheet.in build\win32\sheets\Contact.sheet
copy sheets\Electric.sheet.in build\win32\sheets\Electric.sheet
copy sheets\EML.sheet.in build\win32\sheets\EML.sheet
copy sheets\ER.sheet.in build\win32\sheets\ER.sheet
copy sheets\Flowchart.sheet.in build\win32\sheets\Flowchart.sheet
copy sheets\FS.sheet.in build\win32\sheets\FS.sheet
copy sheets\GRAFCET.sheet.in build\win32\sheets\GRAFCET.sheet
copy sheets\jigsaw.sheet.in build\win32\sheets\jigsaw.sheet
copy sheets\Logic.sheet.in build\win32\sheets\Logic.sheet
copy sheets\Misc.sheet.in build\win32\sheets\Misc.sheet
copy sheets\MSE.sheet.in build\win32\sheets\MSE.sheet
copy sheets\network.sheet.in build\win32\sheets\network.sheet
copy sheets\Pneumatic.sheet.in build\win32\sheets\Pneumatic.sheet
copy sheets\SADT.sheet.in build\win32\sheets\SADT.sheet
copy sheets\SDL.sheet.in build\win32\sheets\SDL.sheet
copy sheets\sybase.sheet.in build\win32\sheets\sybase.sheet
copy sheets\UML.sheet.in build\win32\sheets\UML.sheet
build\win32\plug-ins:
copy objects\standard\*.dll build\win32\dia\.
copy objects\GRAFCET\*.dll build\win32\dia\.
copy objects\network\*.dll build\win32\dia\.
copy objects\flowchart\*.dll build\win32\dia\.
copy objects\custom\*.dll build\win32\dia\.
copy objects\chronogram\*.dll build\win32\dia\.
copy objects\SADT\*.dll build\win32\dia\.
copy objects\UML\*.dll build\win32\dia\.
copy objects\FS\*.dll build\win32\dia\.
copy objects\ER\*.dll build\win32\dia\.
copy plug-ins\shape\*.dll build\win32\dia\.
copy plug-ins\metapost\*.dll build\win32\dia\.
copy plug-ins\pstricks\*.dll build\win32\dia\.
copy plug-ins\xfig\*.dll build\win32\dia\.
copy plug-ins\hpgl\*.dll build\win32\dia\.
copy plug-ins\wpg\*.dll build\win32\dia\.
copy plug-ins\wmf\*.dll build\win32\dia\.
copy plug-ins\svg\*.dll build\win32\dia\.
copy plug-ins\dxf\*.dll build\win32\dia\.
copy plug-ins\cgm\*.dll build\win32\dia\.
4.2 in the .\dia directory, run the install makefile...
nmake makefile.msc