automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Issues with subdir-objects enabled


From: Jonas Thiem
Subject: Re: Issues with subdir-objects enabled
Date: Sun, 13 Apr 2014 03:55:35 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Oh, they are in literally $(testd)/.deps (not ctests/.deps)... I guess
this is that old bug then?

This bug really is kind of a problem with automake pressuring people
into enabling subdir-objects :-/ I guess I'll not enable it then until
a fix is shipped.

Is this already fixed in any upcoming version or is there an estimate
when this will be out?

Also, can a Makefile.am file somehow detect a broken automake version?
Or is there another way to enable subdir-objects to please automake
2.0, but to still support broken old automake that cannot expand the
paths properly?

Regards,
Jonas Thiem

On 04/13/2014 03:47 AM, Jonas Thiem wrote:
> Hi,
> 
> I have some unit tests building in sub directories. It took me a
> while to get them working (admittedly also due to my limited 
> automake/autotools knowledge), but with subdir-objects enabled
> they won't run anymore and I'm uncertain what to do to make them
> work again.
> 
> Makefile.am excerpt:
> 
> # [...]
> 
> source_code_files = audio.c audiomixer.c audiosourcefadepanvol.c 
> audiosourceffmpeg.c audiosourceflac.c audiosourcefile.c 
> audiosourceformatconvert.c audiosourceloop.c audiosourceogg.c 
> audiosourceprereadcache.c audiosourceresample.c 
> audiosourceresourcefile.c audiosourcewave.c avl-tree/avl-tree.c 
> avl-tree-helpers.c connections.c file.c filelist.c diskcache.c 
> graphics.c graphics2dsprites.c graphics2dspriteslist.c 
> graphics2dspritestree.c graphicscamera.c graphicsnull.c 
> graphicsnullrender.c graphicsnulltexture.c graphicsogre.cpp 
> graphicsogrerender.cpp graphicssdl.c graphicssdlglext.c 
> graphicssdlrender.c graphicssdltexture.c graphicstexturelist.c 
> graphicstextureloader.c graphicstexturemanager.c 
> graphicstexturemanagermembudget.c hash.c hostresolver.c ipcheck.c 
> library.c listeners.c logging.c luaerror.c luafuncs.c
> luafuncs_debug.c luafuncs_graphics.c luafuncs_graphics_camera.c
> luafuncs_media_object.c luafuncs_net.c luafuncs_object.c
> luafuncs_objectgraphics.c luafuncs_objectphysics.c luafuncs_os.c
> luafuncs_physics.c luafuncs_rundelayed.c luafuncs_string.c
> luafuncs_vector.c luastate.c luastate_functionTables.c main.c
> mathhelpers.c orderedExecution.c osinfo.c physics.cpp
> physicsinternal.cpp poolAllocator.c signalhandling.c threading.c
> timefuncs.c win32console.c resources.c sockets.c
> zipdecryptionnone.c zipfile.c
> 
> # [...] other omitted unrelated stuff
> 
> # ------------- # Unit test section # ------------- TESTS= testd =
> ctests TEST_CFLAGS= $(AM_CFLAGS) -DUNITTEST
> 
> # ------------- # C tests # ------------- check_PROGRAMS =
> $(testd)/test-imgloader $(testd)/test-texman-1 
> $(testd)/test-imgloader-colors __testd__test_imgloader_SOURCES =
> $(testd)/test-imgloader.c $(source_code_files) 
> __testd__test_imgloader_LDFLAGS = $(FINAL_LD_FLAGS) 
> __testd__test_imgloader_CFLAGS = $(TEST_CFLAGS) 
> __testd__test_imgloader_colors_SOURCES = 
> $(testd)/test-imgloader-colors.c $(source_code_files) 
> __testd__test_imgloader_colors_LDFLAGS = $(FINAL_LD_FLAGS) 
> __testd__test_imgloader_colors_CFLAGS = $(TEST_CFLAGS) 
> __testd__test_texman_1_SOURCES = $(testd)/test-texman-1.c 
> $(source_code_files) __testd__test_texman_1_LDFLAGS =
> $(FINAL_LD_FLAGS) __testd__test_texman_1_CFLAGS = $(TEST_CFLAGS) 
> TESTS += $(testd)/test-imgloader $(testd)/test-texman-1 
> $(testd)/test-imgloader-colors
> 
> 
> Basically, I want to link the tests in the "ctests/" subdirectory 
> (referenced with $(testd)/ in most places) together with the main 
> object files of the main program (as listed in
> $source_code_files).
> 
> That worked fine before, but with subdir-objects enabled, this
> happens:
> 
> make[1]: Entering directory '/home/jonas/Develop/blitwizard/src' 
> Makefile:1143:
> ctests/.deps/__testd__test_imgloader-test-imgloader.Po: No such
> file or directory Makefile:1144: 
> ctests/.deps/__testd__test_imgloader_colors-test-imgloader-colors.Po:
>
> 
No such file or directory
> Makefile:1145:
> ctests/.deps/__testd__test_texman_1-test-texman-1.Po: No such file
> or directory make[1]: *** No rule to make target 
> 'ctests/.deps/__testd__test_texman_1-test-texman-1.Po'.  Stop. 
> make[1]: Leaving directory '/home/jonas/Develop/blitwizard/src'
> 
> The .Po files it searches are inside .deps/ not ctests/.deps/.
> 
> So since those .Po files are in the wrong place, is that my fault?
> Why would automake place them in some other place than it expects
> them? What can I do to fix that? While I kind of understand the
> problem (files in wrong place), I have no idea what to do about
> it..
> 
> Regards, Jonas Thiem
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJTSe6QAAoJEBIDTbbx8Ykevh0QAMuZh0s+TfZbdU/mD20iJ3dv
q5V0eOVA4MrwinmcEjM0q0CnhvdgC+XdBAUY18enhBJL79W06UqTmU3XK1nD5Dn4
oX6xQv1iRgGHy58TTo+P2TsO3cbIm/TneV0oLGeeNziCbnsAv5YKA4HChAKKZ1/+
bcbIUXmavjrEwKWM0aogL2AJVujfHIEf4yXIvCPr1N/0VxSwClJvtvv4kljZCyhz
rq+ywcJ997wj1zRUQEJ0iSiAAPzYKNMIGA1I9t6zUhHKBnC2y4JD7Njmro6eUPGE
seqXcvXhPoknv0m2Ch63CNYYiqSfE1dPqXZZ9XoyfODPuYEYiVGyluVDkfnCQtKQ
BNW5oqkBvTx4AHD7/lPfIITuLwHhA7sdi4kfZOsi6FuVKw5IMIK+ZkEwqHBr6P1N
vQwEJIBy5JLaY+OGo1H7yZyQHx+5OfwdRMMgN/FY1XI/pUasVrQU/L75YzqmDkmc
GdOaXkqJa4w4eUzC4Co9lngvAbUuT/U/QaGPnpQgM88/2ChUtfynXqFfwK6IbMu5
1eZrnnG8l4dopMPj08KcuEQkUYNMYb6C3ctJ+deiSPouZClSThcqY/PiGDxfXW/d
yc4yN6yiT/NzoTGlThgbvMXSYu+FGkdPZHYuvnW3GMFWvPZwygTNNM8WIO45i66u
yi4He6a8ICxpwnYt8VGb
=jowD
-----END PGP SIGNATURE-----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]