2005-06-24 Matthias Clasen <mclasen@redhat.com>
Add an mmap() wrapper called GMappedFile. (#148218,
David Schleef, Behdad Esfahbod)
* glib/gmappedfile.[hc]: New files.
* configure.in: Check for mmap.
* glib/Makefile.am: Add new files.
* glib/glib.symbols: Add new functions.
* glib/glib.h: Include gmappedfile.h
* tests/mapping-test.c: Tests for GMappedFile.
* tests/Makefile.am: Add new file.
2005-06-24 Tor Lillqvist <tml@novell.com>
* glib/Makefile.am
* gmodule/Makefile.am
* gobject/Makefile.am: Current GNU tools do understand the
PRIVATE keyword.
* glib/gfileutils.c (g_mkdir_with_parents): Return error with
EINVAL also for empty pathnames.
(g_build_pathname_va): Fix typo.
2005-05-05 Owen Taylor <otaylor@redhat.com>
* gobject.[ch] gobject.symbols: Add
g_object_add/remove_toggle_ref() functions to get notification
when a reference count is the last remaining reference; this
enables better memory management for language bindings.
(http://mail.gnome.org/archives/gtk-devel-list/2005-April/msg00095.html)
2005-05-05 Owen Taylor <otaylor@redhat.com>
* glib/gdataset.[ch] glib/gdatasetprivate.h: Add
g_datalist_set/unset_flags(), g_datalist_get_flags() functions
to squeeze some bits into a GDataSet... this is needed for
efficient implementation of toggle references in GObject.
* tests/gobject/references.c tests/gobject/Makefile.am:
Add a test case for weak and toggle references.
* glib/gfileutils.[ch]: Rename g_file_replace() back
to g_file_set_contents().
* glib/glib.symbols: Update.
2005-05-05 Owen Taylor <otaylor@redhat.com>
* glib/Makefile.am glib/glib-sections.txt gobject/gobject-sections.txt:
Update
* gobject/tmpl/objects.sgml: Document toggle-references.
2005-03-13 Matthias Clasen <mclasen@redhat.com>
Make PLT-reduction work with gcc4, and don't include
everything in galias.h:
* glib/glib.symbols: Group symbols by header and source file.
* glib/makegalias.pl: Protect definitions by the same
preprocessor symbols used to guard the headers. Move
the alias declarations to a separate file which is
produced when calling makegalias.pl -def
* glib/Makefile.am (galiasdef.c): Add a rule to generate this
file.
* glib/*.c: Include galias.h after the other GLib headers,
include galiasdef.c at the bottom.
2005-02-24 Tor Lillqvist <tml@novell.com>
* Makefile.am (BUILT_EXTRA_DIST): Don't distribute
glib.def. (#167496, J. Ali Harlow)
* gobject/Makefile.am (EXTRA_DIST): Don't distribute
gobject.def. (#167496, J. Ali Harlow)
2005-02-04 Matthias Clasen <mclasen@redhat.com>
* configure.in: Define a HAVE_GNUC_VISIBILITY automake
conditional.
* glib/Makefile.am (TESTS): Only check the abi if
the compiler supports visibility, otherwise we
know there will be (harmless) extra symbols.
(#166181, Ed Avis)
2005-01-11 Owen Taylor <otaylor@redhat.com>
* configure.in: Add gmodule-export-2.0.pc to AC_CONFIG_FILES.
* glib/Makefile.am gobject/Makefile.am gthread/Makefile.am:
Use grep | head -n 1 instead of grep -m 1 which doesn't work
with slightly older versions of GNU grep in
install-libtool-import-lib rule.
2005-01-06 Tor Lillqvist <tml@iki.fi>
* glib/Makefile.am
* gobject/Makefile.am: glib.def and gobject.def are generated, not
in $(srcdir). (#163143, J. Ali Harlow)
2004-12-27 Matthias Clasen <mclasen@redhat.com>
* configure.in: Add an OS_LINUX conditional.
* glib/Makefile.am (TESTS): Only check the ABI on
linux, since the shell script is not portable, and libtool
deficiencies may distort the ABI on other platforms. (#161741)
2004-12-05 Tor Lillqvist <tml@iki.fi>
* glib/Makefile.am (install-libtool-import-lib): Remove the DLL
binary compatibilty entries from the import library. They aren't
used by newly compiled code, so no need to have them in the import
library. (The "PRIVATE" keyword in the .def file is supposed to do
this, but not implemented in the GNU linker yet.)
2004-11-30 Tor Lillqvist <tml@iki.fi>
* glib/Makefile.am (glib.def)
* gobject/Makefile.am (gobject.def): gcc -E complains "linker
unused because linking not done" if told to preprocess an
*.symbols file. Use '-' and redirection to pass it as standard
input instead.
2004-11-23 Matthias Clasen <mclasen@redhat.com>
Fix a problem with the PLT reduction changes which caused the
internal aliases to lose all attributes.
* glib/glib.symbols: Add attribute annotations.
* glib/makegalias.pl: Keep attribute annotations, but strip PRIVATE.
* glib/Makefile.am (glib.def): Strip attribute annotations, but keep
PRIVATE.
2004-11-11 J. Ali Harlow <ali@juiblex.co.uk>
* gobject/Makefile.am:
* glib/Makefile.am (gtk.def): Use embedded tab rather than '\t'
escape sequence. (#157951)
2004-10-27 Matthias Clasen <mclasen@redhat.com>
Introduce the idea of a filename encoding, which is
*literally* the filename encoding on Unix. On windows,
use the Unicode name converted to UTF-8. (#156325,
Tor Lillqvist, Owen Taylor)
* glib/gdir.[hc]:
* glib/gconvert.[hc]:
* glib/gfileutils.[hc]:
* glib/gutils.[hc]:
* glib/giowin32.c: On Windows, keep old ABI versions
of GLib pathname api for DLL ABI stability. Use different
names for the new-style UTF-8 versions. Hide this through
a #define.
* glib/gstdio.[hc]: New files containing wrappers for
POSIX pathname api.
* glib/glib.symbols: Add new symbols.
* glib/makegalias.pl: Drop Win32 specific .def syntax,
include gstdio.h
2004-10-23 Matthias Clasen <mclasen@redhat.com>
* glib/gkeyfile.h:
* glib/gkeyfile.c: Add a parser for desktop entries and
similar files with a .ini-like syntax. (#139974, Ray Strode)
* glib/glib.h: Include gkeyfile.h
* glib/Makefile.am (libglib_2_0_la_SOURCES): Add gkeyfile.c
(glibsubinclude_HEADERS): Add gkeyfile.h
* glib/gutils.c (_g_compute_locale_variants): Make this
non-static and use it in gkeyfile.c
2004-03-06 Tor Lillqvist <tml@iki.fi>
* README.win32: Update.
* configure.in
* Makefile.am
* */Makefile.am: Drop the hand-written makefile.mingw(.in)
files. They haven't been maintained in a long time. As several
people have managed to build GLib for Win32 using the
autoconfiscation mechanism, there is no real reason to even try to
maintain the hand-written mingw makefiles.
2004-02-26 Sebastian Wilhelmi <seppi@seppi.de>
* glib/gatomic.c, glib/gatomic.h: New files to implement atomic
operations for different platforms. Fixes bug #63621.
* glib/glib.h: Include gatomic.h.
* configure.in: Add test for assembler routines for atomic operations.
* glib/Makefile.am: Add gatomic.c, gatomic.h.
* tests/Makefile.am, tests/atomic-test.c: Unit test for atomic
operations.
* glib/glib-overrides.txt, glib/glib-sections.txt,
glib/glib-docs.sgml, glib/tmpl/atomic_operations.sgml: Add docs
for atomic operations.
Wed Nov 5 22:05:19 2003 Matthias Clasen <maclas@gmx.de>
* glib/gi18n-lib.h:
* glib/gi18n.h: New headers defining common gettext-support
macros.
* glib/Makefile.am (glibsubinclude_HEADERS): Add gi18n.h
and gi18n-lib.h.
* glib/gstrfuncs.h:
* glib/gstrfuncs.c (g_strip_context): Auxiliary function for
the implementation of Q_().
Thu Oct 23 12:38:24 2003 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.0 ===
* tests/gobject/Makefile.am (dist-hook): Remove
and extra backslash.
* tests/gobject/Makefile.am (EXTRA_DIST): Add
testmarshal.list.
* glib/Makefile.am (libglib_2_0_la_SOURCES): Add
missing gunicode-private.h.
* tests/testglib.c (main): Fix a warning.
* tests/gobject/ifaceinherit.c: Remove check that
wasn't supposed to work (adding an interface already
added to the derived class to the base class),
fix a bug.
Tue Aug 19 03:55:29 2003 Tim Janik <timj@gtk.org>
* glib/gbsearcharray.h: license change, no restrictions are made
in the new license at all, the implmentation is simply provided
"as is" to allow copy-pasting the code into any third-party app.
naturally, the implementation is self-contained within the header
file to allow this.
default to non-shrinking behaviour, allow users to request shrinking
via G_BSEARCH_ARRAY_AUTO_SHRINK.
creation, deletion functions are now named g_bsearch_array_create()
and g_bsearch_array_free().
fixed const in prototypes, removed cruft.
(g_bsearch_array_insert): take only three arguments, do nothing if the
node to insert is already there.
(g_bsearch_array_replace): insert or replace if the node is already
there.
(g_bsearch_array_remove): remove nodes by index, the index of a node
can be found via g_bsearch_array_get_index().
removed other g_bsearch_array_remove*() variants.
(g_bsearch_array_lookup): minor optimizations.
(g_bsearch_array_lookup_sibling): return nodes on mismatches.
* glib/gbsearcharray.c: removed.
2003-08-13 Tor Lillqvist <tml@iki.fi>
* glib/Makefile.am
* gmodule/Makefile.am
* gobject/Makefile.am
* gthread/Makefile.am: Use srcdir also in references to the .def
files. (#118885, Jeff Bonggren)
2003-03-01 James Henstridge <james@daa.com.au>
* autogen.sh: require automake 1.7. Add calls to libtoolize and
gtkdocize. Clean up some of the error messages.
* configure.in: move version declaration to the top of the file
(before AC_INIT), using M4 macros.
GLIB_AC_DIVERT_BEFORE_HELP() calls no longer necessary, due to use
of M4 macro expansion in help messages instead.
Convert AC_ARG_WITH/AC_ARG_ENABLE calls to use AC_HELP_STRING to
format help strings. Use quadrigraphs to get square brackets to
show correctly.
Replace gtk-doc checks with a call to GTK_DOC_CHECK() macro.
Use AC_CONFIG_COMMANDS([glibconfig.h], ...) to output
glibconfig.h, so that "./config.status glibconfig.h" works.
Add an extra AC_CONFIG_FILES call listing other files we want
generated by config.status protected by an "if false" block. This
way automake generates the rules needed to rebuild the files for
us.
Add quotes in various places.
* docs/reference/*/Makefile.am: convert to use the common
gtk-doc.make file. This localises the complexity to a single
makefile fragment maintained with gtk-doc itself.
* */Makefile.am: remove unneeded rules to build win32 files with
config.status. Automake now does this for us.
Replace instances of @FOO@ with $(FOO) where appropriate -- this
allows automake to do a better job checking the makefile.
Add some files to DISTCLEANFILES where appropriate
* Makefile.am: use the DISTCHECK_CONFIGURE_FLAGS variable to
ensure that --enable-gtk-doc is passed to configure during a
distcheck. Remove the custom distcheck, since the standard one
will now do.
* gobject/Makefile.am: switch to BUILT_SOURCES, since that now
works.
2003-02-14 Sebastian Wilhelmi <seppi@seppi.de>
Fixes for #101264 and #99372:
* glib/gconvert.h, glib/gmain.c, glib/gmem.c, glib/gmessages.c,
glib/grand.c: Include gthreadinit.h and rename the thread
initialization functions a bit and let them start with _, so that
later we can stop exporting them.
* glib/gmem.c, glib/gmessages.c: Move the g_private_new() calls to
new functions. They have to be called after setting
g_threads_got_initialized to TRUE (see #101264).
* glib/gthread.c: Include gthreadinit.h. Renamed g_mutex_init() to
g_thread_init_glib(). Call the thread initialization functions
(which are not allowed to call g_private_new), then set
g_threads_got_initialized to TRUE, then call the other thread
initialization functions (which must not call anything but
g_private_new()).
* glib/gthreadinit.h: New private header to cleanly declare all
thread initialization functions.
* gthread/gthread-impl.c: Include gthreadinit.h. In
g_thread_init() just call g_thread_init_glib(), which in turn calls the
other functions (see #99372).
* glib/Makefile.am: Added gthreadinit.h.
2003-01-04 Tor Lillqvist <tml@iki.fi>
* {glib,gmodule,gobject,gthread}/Makefile.am:
[Win32] Install also the .def files, to help users generate
import libraries for other compilers. Uninstall, too.
* glib-zip.in: Include .def files from above.
2002-11-21 Tor Lillqvist <tml@iki.fi>
* config.h.win32.in: Update to match what is currently produced by
autotools.
* configure.in: Remove superfluous spaces on two shell variable
assignment lines. Don't define HAVE_GOOD_PRINTF as 0 if we don't
have a good printf, it is tested with #ifdef.
* glib/glib.def: Add new functions.
* glib/Makefile.am: If !HAVE_GOOD_PRINTF, add libtio.la to LIBADD
and DEPENDENCIES.
* glib/glib.rc.in: Hardcode 2.0 in the names, as that is what the
Makefile.am does.
positional parameters: (#79488)
* glib/gstrfuncs.c:
* glib/gspawn-win32.c:
* glib/gscanner.c:
* glib/gconvert.c:
* glib/gbacktrace.c: Use _g_printf wrappers.
* glib/gutils.c (g_vsnprintf): Simplify, since we can assume C99
snprintf semantics now.
* glib/gmessages.c (printf_string_upper_bound): No longer needed,
since we can assume C99 snprintf semantics now.
(g_logv): Simplify.
* acinclude.m4 (AC_FUNC_PRINTF_UNIX98): New macro to check wether
printf supports SUS positional parameters.
* configure.in: New option --enable-included-printf to force
compilation of trio; otherwise trio is compiled if the system
printf misses either C99 snprintf semantics of SUS positional
parameters.
* glib/Makefile.am (SUBDIRS): Conditionally compile trio.
(libglib_2_0_la_SOURCES): Add gprintf.c and gprintfint.h.
(glibsubinclude_HEADERS): Add gprintf.h.
* glib/gprintfint.h: New private wrapping either system printf
or trio printf variants in _g_printf wrappers for use inside glib.
* glib/gprintf.h: New public header declaring g_printf variants.
* glib/gprintf.c: Corresponding implementations.
* glib/trio/*: New directory, containing the trio-1.9 sources.
* glib/tmpl/string_utils.sgml: Add note on including gprintf.h,
move some docs inline.
* glib/glib-sections.txt: Add g_printf, g_vprintf, g_fprintf,
g_vfprintf, g_sprintf, g_vsprintf.
Sun Mar 3 21:09:24 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Default to --disable-gtk-doc, to avoid
Jade setup hassles.
* autogen.sh: Add --enable-gtk-doc.
* configure.in: Default to --disable-static to go
along with Pango, GTK+ where we need to do that for
bin-compat reasons.
* Makefile.am: Add a slightly modified distcheck rule
that passes --enable-gtk-doc to the configure inside.
(So that 'make dist' succeeds inside.)
* configure.in *.pc.in **/Makefile.am m4macros/glib-2.0.m4
tests/makefile.mingw.in: Switch everything over to
glib-2.0.
* glib/gdebug.h: New header containing GTK_DEBUG-style debugging
support for GLib. Currently only the fatal_warnings debug option exists.
* glib/gmessages.c (g_log_msg_prefix_init): New one-shot function
for parsing G_MESSAGES_PREFIXED.
(_g_debug_init): New one-shot function for parsing G_DEBUG.
(g_log_write_prefix): Use g_log_msg_prefix_init().
(g_messages_init): Use g_log_msg_prefix_init() and _g_debug_init().
* glib/Makefile.am (libglib_1_3_la_SOURCES): Add gdebug.h.
* glib/Makefile.am (IGNORE_HFILES): Add gdebug.h.
* glib/running.sgml: Document the G_DEBUG environment variable.
* glib/tmpl/threads.sgml: Replace g_thread_wait() by
g_thread_join() in two places.
Thu Nov 22 13:14:18 2001 Owen Taylor <otaylor@redhat.com>
* configure.in (GLIB_MICRO_VERSION): Version 11,
interface, binary age 0.
* NEWS: Updated.
* tests/Makefile.am (libmoduletestplugin_[ab]_la_LDFLAGS):
Add dummy -rpath argument. On some (but not all) platforms,
libtool will only build a convenience library without this.
(#63486, Dan Winship)
* Makefile.am (EXTRA_DIST): Add README.in, INSTALL.in -
autoconf-2.5x checks for 'make dist' in the tarball
when you make distcheck.
* glib/Makefile.am (EXTRA_DIST): Distribute
makefile.msc/mingw.in, glib.rc.in.
* tests/patterntest.c: Include string.h.
* glib/gpattern.c (g_utf8_reverse): doc parsing fix.
Sat Nov 17 17:21:57 2001 Owen Taylor <otaylor@redhat.com>
* glib/Makefile.am glib/*.c glib/gmessages.h: Get
rid fo g_log_domain_glib variable in favor of just
using a string constant.
Sun Nov 4 20:45:21 2001 Owen Taylor <otaylor@redhat.com>
* configure.in (CFLAGS): Add check for dirent.h
* glib/glib.h glib/Makefile.am: Add gdir.
* glib/gdir.c (g_dir_close): Couple of small tweaks
now that it is actually compiling...
2001-10-23 Tor Lillqvist <tml@iki.fi>
* {glib,gmodule,gobject,gthread}/Makefile.am: (Win32): If we
have built the MSVC import library, install it. Install the
gcc import library. Also support uninstall.
Wed Sep 26 22:34:12 2001 Owen Taylor <otaylor@redhat.com>
Fixes for #58195, based on some ideas from Hidetosh Tajima.
* aclibcharset.m4 glib/libcharset: Add Bruno Haible's
portable-current charset detection code from libiconv.
* glib/gutf8.c (g_utf8_get_charset_internal): Rewrite
to use _g_locale_charset().
* glib/gutf8.c (_g_charset_get_aliases): Private functions
to get aliases from libcharset for a particular canonical
name.
* glib/gconvert.c: If loading a charset fails, try
aliases to look for fallbacks.
2001-09-25 Tor Lillqvist <tml@iki.fi>
* configure.in: More Win32 automake macros. For .def files:
GLIB_DEF, GMODULE_DEF, GOBJECT_DEF and GTHREAD_DEF. For .exp
files: TESTGMODULE_EXP (for programs that need to export symbols,
just testgmodule here). A new conditional, MS_LIB_AVAILABLE to
test whether the Microsoft librarian ("ar") is available to build
MS import libraries.
* glib/Makefile.am
* gmodule/Makefile.am: Use above. New rule to build MS import
library.
* glib/makefile.msc.in
* tests/makefile.msc.in
* tests/makefile.mingw.in: Use same DLL and import library names as
libtool.
gmodule:
2001-09-25 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in: Fix missing end @ in @LT_CURRENT@.
* makefile.msc.in: Use same DLL and import library names as
libtool.
gobject:
2001-09-25 Tor Lillqvist <tml@iki.fi>
* Makefile.am: Use new macros for .def file, and check for
MS_LIB_AVAILABLE, new rule to build MS import library.
* makefile.msc.in: Use same DLL and import library names as
libtool.
gthread:
2001-09-25 Tor Lillqvist <tml@iki.fi>
* Makefile.am: Use new macros for .def file, and check for
MS_LIB_AVAILABLE, new rule to build MS import library.
* makefile.msc.in: Use same DLL and import library names as
libtool.
2001-09-17 Tor Lillqvist <tml@iki.fi>
* configure.in: Add variable for LT_CURRENT minus LT_AGE (the
suffix used by libtool on Win32 for DLLs). Set variables for the
compiled resource files on Windows. Handle the native Win32
gthread stuff.
* glib/Makefile.am
* gmodule/Makefile.am
* gobject/Makefile.am: (Win32) Add minor hacks to link in the object
file produced from the resource file. Use the lt-compile-resource
script from the build module. The non-hack way would be to teach
libtool, autoconf and automake about .rc files (which are a kind
of source code, after all, that gets compiled to object
files). But then there would be problems for those who wouldn't have
bleeding edge auto* and libtool.
* glib/glib.def
* gobject/gobject.def: Updates.
* glib/glib.rc.in
* gmodule/gmodule.rc.in
* gobject/gobject.rc.in
* gthread/gthread.rc.in: Update InternalName and OriginalFilename to
match libtool's naming convention for DLLs.
* glib/gutils.c: Ditto when constructing the DLL name in the
definition for GLIB_LOCALE_DIR.
* glib/makefile.mingw.in
* gmodule/makefile.mingw.in
* gobject/makefile.mingw.in
* gthread/makefile.mingw.in: Update import library names.
2001-08-30 Tor Lillqvist <tml@iki.fi>
After being away for about five months, I'm back working on
this... For now, still using same build setup for Win32. Probably
will change to not including version numbers in the import library
names, though. (But the DLL names would still include them,
possibly even also the micro version number.) That would be more
Unix-like. Also, will have to check out newest mingw tool versions
to see if the build-dll script now can be retired.
* makefile.mingw
* makefile.msc: New files, no need to generate from .in as
they don't contain references to automake variables.
* makefile.mingw.in
* makefile.msc.in: Removed.
* glib.rc.in: Remove
* glib/glib.rc.in: Moved here.
* Makefile.am
* glib/Makefile.am: Corresponding changes.
* glib/glib.def: Fix typo, add new entries.
* glib/gspawn-win32-helper.c: More debugging. Doesn't work
currently (or then it never has on Win2k, which I now use?)
* glib/gstrfuncs.c
* glib/gstrfuncs.h: Mark g_ascii_table for export/import on Win32.
* */makefile.mingw.in: Reflect new location of glib library.
Wed Jul 11 11:13:50 2001 Owen Taylor <otaylor@redhat.com>
* glib/Makefile.am (libglib_1_3_la_SOURCES): Add gunicomp.h
(Reported by Sven Neumann).
* glib/guniprop.c (g_utf8_str/updown) glib/gunicollate.c
(g_utf8_collate_key): Fix shadowing problems reported by
many (D. Adler, S. Neumann, M. Murmane, L. Peter)
Sun Jul 1 20:16:25 2001 Owen Taylor <otaylor@redhat.com>
* glib/guniprop.c (g_unichar_totitle): Use G_N_ELEMENTS
rather than a custom macro.
* glib/gen-unicode-tables.pl: Adapt to changes in table
formats for Unicode 3.1
* glib/gunicode.h glib/guniprop.c glib/gunichartables.h
glib/gen-unicode-tables.pl: Add case conversion functions
g_utf8_casefold, g_utf8_strup, g_utf8_strdown.
* tests/unicode-caseconv.c tests/gen-casefold-txt.pl
tests/gen-casemap-txt.pl tests/casefold.txt
tests/casemap.txt: Test cases for case conversion.
* glib/gunicode.h glib/gunidecomp.[ch] glib/gunicomp.h
glib/gen-unicode-tables.pl: Add function to do Unicode
normalization g_utf8_normalize().
* tests/unicode-normalize.c: Test program for case conversion.
* glib/gunicode.h glib/gunicollate.c: Add collation functions
g_utf8_collate, g_utf8_collate_key.
* test/unicode-collate.c: Test program for collation.
* glib/gdate.c (g_date_fill_parse_tokens): Fix uninitialized
variable.
* glib/gdate.c (g_date_strftime) docs/Changes-2.0.txt:
Make work with UTF-8 even if the locale isn't UTF-8 based.
Still somewhat of broken, if the format string contains
characters not representable in the current locale, will warn
and not work.
* glib/gdate.c: Use UTF-8 normalization and casefolding.
2001-06-27 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* Makefile.am, configure.in: Removed glib-config-2.0, as we have
pkg-config now.
* glib/Makefile.am: Added -I$(top_srcdir) for builddir != srcdir.
* Makefile.am: Removed gen-unicode-tables.pl from EXTRA_DIST.
Tue Jun 26 11:43:46 2001 Owen Taylor <otaylor@redhat.com>
* configure.in Makefile.am *.[ch] glib/*.[ch] glib/Makefile.am:
Move glib library into a subdirectory, make all GLib include
files include as <glib/glist.h>
* tests/testglib.c tests/testgdate.c tests/testgdateparser.c
tests/timeloop.c tests/timeloop-basic.c: Move all tests into
the tests/ subdirectory.