build: Fix libreaddir-rand to honor global CFLAGS

It's unfortunate that in automake one has to explicitly include the globa
`$(AM_CFLAGS)` if one sets `CFLAGS`, and similarly for other variables.

I'm trying to use `-fsanitize=address`, and not including it was
causing linker failures.

We also weren't inheriting the global warnings etc., so I had to fix a
decl-after-statement.

Closes: #351
Approved by: jlebon
This commit is contained in:
Colin Walters 2016-06-17 09:36:51 -04:00 committed by Atomic Bot
parent d03ae448d0
commit 71e768d230
2 changed files with 3 additions and 3 deletions

View File

@ -137,12 +137,12 @@ endif
test_ltlibraries = libreaddir-rand.la test_ltlibraries = libreaddir-rand.la
libreaddir_rand_la_SOURCES = tests/readdir-rand.c libreaddir_rand_la_SOURCES = tests/readdir-rand.c
libreaddir_rand_la_CFLAGS = $(OT_INTERNAL_GIO_UNIX_CFLAGS) libreaddir_rand_la_CFLAGS = $(AM_CFLAGS) $(OT_INTERNAL_GIO_UNIX_CFLAGS)
libreaddir_rand_la_LIBADD = \ libreaddir_rand_la_LIBADD = \
-ldl \ -ldl \
$(OT_INTERNAL_GIO_UNIX_LIBS) \ $(OT_INTERNAL_GIO_UNIX_LIBS) \
$(NULL) $(NULL)
libreaddir_rand_la_LDFLAGS = -avoid-version libreaddir_rand_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
if !ENABLE_INSTALLED_TESTS if !ENABLE_INSTALLED_TESTS
libreaddir_rand_la_LDFLAGS += -rpath $(abs_builddir) libreaddir_rand_la_LDFLAGS += -rpath $(abs_builddir)
endif endif

View File

@ -109,12 +109,12 @@ readdir (DIR *dirp)
{ {
if (g_random_boolean ()) if (g_random_boolean ())
{ {
struct dirent *copy;
if (!de) if (!de)
{ {
de = dir_entries_new (); de = dir_entries_new ();
g_hash_table_insert (direntcache, dirp, de); g_hash_table_insert (direntcache, dirp, de);
} }
struct dirent *copy;
copy = g_memdup (ret, sizeof (struct dirent)); copy = g_memdup (ret, sizeof (struct dirent));
g_ptr_array_add (de->entries, copy); g_ptr_array_add (de->entries, copy);
} }