[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MIT-Scheme-devel] FFI and KyotoCabinet
From: |
Matt Birkholz |
Subject: |
Re: [MIT-Scheme-devel] FFI and KyotoCabinet |
Date: |
Wed, 27 Apr 2011 11:20:04 -0700 |
> From: address@hidden (Matt Birkholz)
> Date: Sun, 17 Apr 2011 18:00:56 -0700
>
> [...]
> Add your-FFI to FFIS in src/configure.ac and it will appear in
> src/Makefile (and src/Makefile.in) and get built and installed
> automatically, on any of the aforementioned machinery, assuming
> src/your-FFI/Makefile-fragment has working build and install targets
> (almost, but NOT similar to src/ffi/Makefile-fragment). There are
> several files that may want patching, unfortunately, like
> src/Setup.sh, src/TAGS, src/etc/create-makefiles.sh, and
> src/etc/optiondb.scm. When Gtk is rebased, I can provide a working
> example.
OK, I MERGED our master into my Gtk branch. Moving features out of
Gtk into master made nonsense of a rebasing (and duplication during
the merge!). Anyway, I have that all sorted now, and published under
tag 20110426-Gtk in my git repo.,
git://birkholz.chandler.az.us/~matt/mit-scheme.git
and successfully built (and tested-ish).
Target Host
------ -----------------------------------------------
x86-64 x86-64 Scheme 9.1, Ubuntu 10.10, emacs23 etags
C x86-64 ditto
i386 i386 Scheme 9.0.1, Ubuntu 10.10, Exuberant ctags
C i386 ditto
The resulting patch (e.g. `git diff master Gtk') is much as I
described earlier. Here are the build-related details:
* src/README.txt: Add description to "miscellaneous extras".
* src/Setup.sh: Add "gtk" to INSTALLED_SUBDIRS. Create link in
src/lib.
* src/TAGS: Add gtk/TAGS.
* src/configure.ac: Add AC_ARG_WITH, AC_CHECK_PROG, `pkg-config
--exists gtk+-2.0', etc.
* src/etc/create-makefiles.sh: Add "gtk" to BUNDLES.
* src/etc/optiondb.scm: Add option 'Gtk.
* src/gtk/Makefile-fragment: New, with many rules to compile and
link gtk-const, gtk-shim.so, etc.
Hopefully this example can provide you with a quick (focused)
introduction to the autotools.