Commit Graph

9 Commits

Author SHA1 Message Date
Neil Roberts
c5cf8c53cd mingw-fetch-dependencies: Build ATK from source
There is no prebuilt package for ATK 2.1.5 which Clutter now depends
on so let's build it from source instead. The ATK packages don't have
a .gz version so this patch also changes it to download the .bz2
version of json-glib to avoid having to accept both formats.
2011-09-06 09:41:06 +01:00
Neil Roberts
f23a7583e1 mingw-fetch-dependencies.sh: Add a wrapper for pkg-config
On a Fedora system (and maybe others) there is a wrapper script called
i686-pc-mingw32-pkg-config. This script unsets the PKG_CONFIG_PATH
variable and then sets the PKG_CONFIG_LIBDIR variable so that it won't
pick up the native system .pc files. This breaks cross compiling in
mingw-fetch-dependencies.sh because it ends up removing its attempts
to set a local search path.

To fix this, the mingw-fetch-dependencies script now generates its own
wrapper script which instead sets PKG_CONFIG_LIBDIR to the local
clutter-cross prefix and then runs the original pkg-config program
from the search path. This should have the same benefit of preventing
it from finding native system .pc files on systems that don't provide
a cross pkg-config. The cross compiling for json-glib and the
recommend args to pass to configure when building clutter are updated
to set the PKG_CONFIG varible to point to this wrapper script.
2011-03-16 13:06:52 +00:00
Robert Bragg
4dc8ccf9ea win32: remove env.sh generated by mingw-fetch-dependencies.sh
Since there is very little now left in the env.sh file generated by
mingw-fetch-dependencies.sh it can be removed. What remained (The
CFLAGS="-mms-bitfields" and PKG_CONFIG_PATH=$ROOT_DIR/lib/pkgconfig) can
simply be passed explicitly when calling ./configure.
2011-03-16 11:23:38 +00:00
Robert Bragg
5faf7666ec win32: remove deprecated -mno-cygwin options from env.sh
This removes the use of -mno-cygwin from our generated env.sh for cross
compiling with mingw.

I don't know that anyone is building clutter under cygwin, and our
BuildingClutterOnWindows wiki page only describes building with msys not
cygwin so I think its fair to assume that this build configuration is
untested and thus not supported by us currently. Since the -mno-cygwin
option is deprecated it could well be that there is a better
cross-compilation solution available for cygwin these days if you want
to build programs that don't depend on cygwin libraries.
2011-03-16 11:23:38 +00:00
Robert Bragg
861bda91d5 win32: Strip unneeded flags from env.sh
This remove CXXFLAGS since we don't have any c++ code in Clutter and
also removes the redundant -L$ROOT_DIR/lib from LDFLAGS and
-I$ROOT_DIR/include from CPPFLAGS and CFLAGS. (These should get added by
pkg-config)
2011-03-16 11:23:38 +00:00
Robert Bragg
6340f3a24b win32: Add blurb at end of mingw helper script
This adds some blurb at the end the mingw-fetch-dependencies.sh script
that gives an example of how to go on and build clutter after fetching
all dependencies.
2011-03-16 11:23:38 +00:00
Robert Bragg
130135a09f win32: support building json-glib in mingw script
Since Tor does not currently provide win32 binaries for json-glib we
need to cross compile it before we can build clutter. This extends
mingw-fetch-dependencies.sh so it can fetch, unpack and cross-compile
json-glib into the same prefix as the binary dependencies.
2011-03-16 11:23:38 +00:00
Robert Bragg
820765eea0 win32: don't set CC,CPP,AR,NM,LD etc in mingw env.sh
It shouldn't be necessary to explicitly override CC,CPP,AR,NM,LD etc in
the env.sh helper script that mingw-fetch-dependencies.sh generates.
Clutter's ./configure script should figure all of those out for us.
2011-03-16 11:23:37 +00:00
Robert Bragg
ed025f1c85 win32: remove automatic build option from mingw script
This removes the "Do you want to checkout and build Clutter?" option
from the mingw-cross-compile.sh script and renames the script
mingw-fetch-dependencies.sh

As it stands the mingw-cross-compile.sh script isn't enough to fetch all
the dependencies for building clutter, since Tor doesn't provide binaries
for json-glib so the option to checkout and build clutter can't work.

Also it doesn't seem ideal to clone a fresh clutter repo instead of
being able to compile the source of the current repo.
2011-03-16 11:22:47 +00:00