2009-01-09 Mike Kestner <mkestner@novell.com>
* configure.in.in: don't hardcode CC when cross-compiling. * gapi-cdecl-insert: monodis support on mono. * Makefile.am: add a cross-compile bundling target. The goal is to build a .zip which can be extracted on win32 to run candle and light, avoiding cygwin to produce installers. Hopefully some day wix will run on linux. svn path=/trunk/gtk-sharp/; revision=123139
This commit is contained in:
parent
5b60a2f909
commit
dc069c7338
4 changed files with 42 additions and 6 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2009-01-09 Mike Kestner <mkestner@novell.com>
|
||||||
|
|
||||||
|
* configure.in.in: don't hardcode CC when cross-compiling.
|
||||||
|
* gapi-cdecl-insert: monodis support on mono.
|
||||||
|
* Makefile.am: add a cross-compile bundling target. The goal is to
|
||||||
|
build a .zip which can be extracted on win32 to run candle and light,
|
||||||
|
avoiding cygwin to produce installers. Hopefully some day wix will
|
||||||
|
run on linux.
|
||||||
|
|
||||||
2009-01-08 Mike Kestner <mkestner@novell.com>
|
2009-01-08 Mike Kestner <mkestner@novell.com>
|
||||||
|
|
||||||
* cairo/Makefile.am: use mono.snk to sign the Mono.Cairo assembly
|
* cairo/Makefile.am: use mono.snk to sign the Mono.Cairo assembly
|
||||||
|
|
17
Makefile.am
17
Makefile.am
|
@ -20,3 +20,20 @@ win32-installer: all
|
||||||
light.exe gtk-sharp-2.0-lib.wixobj
|
light.exe gtk-sharp-2.0-lib.wixobj
|
||||||
candle.exe gtk-sharp-2.0-dev.wxs
|
candle.exe gtk-sharp-2.0-dev.wxs
|
||||||
light.exe gtk-sharp-2.0-dev.wixobj
|
light.exe gtk-sharp-2.0-dev.wixobj
|
||||||
|
|
||||||
|
assembly_dirs = glib gio pango atk gdk gtk glade gtkdotnet
|
||||||
|
|
||||||
|
cross-bundle: all
|
||||||
|
mkdir -p gtk-sharp-cross-$(VERSION)
|
||||||
|
rm -rf gtk-sharp-cross-$(VERSION)/*
|
||||||
|
cp *.wxs gtk-sharp-cross-$(VERSION)
|
||||||
|
cp generator/gapi_codegen.exe gtk-sharp-cross-$(VERSION)
|
||||||
|
cp */glue/.libs/*.dll gtk-sharp-cross-$(VERSION)
|
||||||
|
@for a in $(assembly_dirs); do \
|
||||||
|
mkdir -p gtk-sharp-cross-$(VERSION)/$$a; \
|
||||||
|
cp $$a/*.dll gtk-sharp-cross-$(VERSION)/$$a; \
|
||||||
|
done
|
||||||
|
cp sample/GtkDemo/GtkDemo.exe gtk-sharp-cross-$(VERSION)
|
||||||
|
zip -9r gtk-sharp-cross-$(VERSION).zip gtk-sharp-cross-$(VERSION)
|
||||||
|
rm -rf gtk-sharp-cross-$(VERSION)
|
||||||
|
|
||||||
|
|
|
@ -20,14 +20,18 @@ case "$host" in
|
||||||
WIN64DEFINES="-define:WIN64LONGS"
|
WIN64DEFINES="-define:WIN64LONGS"
|
||||||
platform_win32=yes
|
platform_win32=yes
|
||||||
AC_DEFINE(PLATFORM_WIN32,1,[Platform is Win32])
|
AC_DEFINE(PLATFORM_WIN32,1,[Platform is Win32])
|
||||||
CC="gcc -mno-cygwin -g"
|
if test "x$cross_compiling" = "xno"; then
|
||||||
HOST_CC="gcc"
|
CC="gcc -mno-cygwin -g"
|
||||||
|
HOST_CC="gcc"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
*-*-mingw*|*-*-cygwin*)
|
*-*-mingw*|*-*-cygwin*)
|
||||||
platform_win32=yes
|
platform_win32=yes
|
||||||
AC_DEFINE(PLATFORM_WIN32,1,[Platform is Win32])
|
AC_DEFINE(PLATFORM_WIN32,1,[Platform is Win32])
|
||||||
CC="gcc -mno-cygwin -g"
|
if test "x$cross_compiling" = "xno"; then
|
||||||
HOST_CC="gcc"
|
CC="gcc -mno-cygwin -g"
|
||||||
|
HOST_CC="gcc"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
platform_win32=no
|
platform_win32=no
|
||||||
|
|
|
@ -31,15 +31,21 @@ foreach $arg (@ARGV) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (`which ildasm 2> /dev/null`) {
|
||||||
|
$dasm = "ildasm /out:";
|
||||||
|
} else {
|
||||||
|
$dasm = "monodis --output=";
|
||||||
|
}
|
||||||
|
|
||||||
if ($assembly =~ /(.*)\.dll/) {
|
if ($assembly =~ /(.*)\.dll/) {
|
||||||
$basename = $1;
|
$basename = $1;
|
||||||
`ildasm $assembly /out:$basename.raw`;
|
`$dasm$basename.raw $assembly`;
|
||||||
open(INFILE, $basename . ".raw") || die "Couldn't open $basename.raw\n";
|
open(INFILE, $basename . ".raw") || die "Couldn't open $basename.raw\n";
|
||||||
open(OUTFILE, "> $basename.il") || die "Couldn't open $basename.il\n";
|
open(OUTFILE, "> $basename.il") || die "Couldn't open $basename.il\n";
|
||||||
while ($line = <INFILE>) {
|
while ($line = <INFILE>) {
|
||||||
$insert = 1 if ($line =~ /\.custom instance void .*GLib\.CDeclCallbackAttribute/);
|
$insert = 1 if ($line =~ /\.custom instance void .*GLib\.CDeclCallbackAttribute/);
|
||||||
|
|
||||||
if ($insert && $line =~ /(.*)\s+(Invoke\(.*)/) {
|
if ($insert && $line =~ /(.*)\s+(Invoke\s*\(.*)/) {
|
||||||
print OUTFILE "$1 modopt([mscorlib]System.Runtime.CompilerServices.CallConvCdecl) $2";
|
print OUTFILE "$1 modopt([mscorlib]System.Runtime.CompilerServices.CallConvCdecl) $2";
|
||||||
$insert = 0;
|
$insert = 0;
|
||||||
next;
|
next;
|
||||||
|
|
Loading…
Reference in a new issue