[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-----