Bug 83839 - Refactor Makefiles to build a noinst library for parsing args
Summary: Refactor Makefiles to build a noinst library for parsing args
Status: RESOLVED FIXED
Alias: None
Product: poppler
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Hardware: All All
: medium normal
Assignee: poppler-bugs
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-14 09:37 UTC by Hib Eris
Modified: 2014-09-28 22:34 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Refactor Makefiles to build a noinst library for parsing args (5.07 KB, patch)
2014-09-14 09:37 UTC, Hib Eris
Details | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Hib Eris 2014-09-14 09:37:47 UTC
Prevents this automake warning about possible forward-incompatibility:

$ ./autogen.sh
...
cpp/tests/Makefile.am:16: warning: source file '$(top_srcdir)/utils/parseargs.cc' is in a subdirectory,
cpp/tests/Makefile.am:16: but option 'subdir-objects' is disabled
automake: warning: possible forward-incompatibility.
automake: At least a source file is in a subdirectory, but the 'subdir-objects'
automake: automake option hasn't been enabled.  For now, the corresponding output
automake: object file(s) will be placed in the top-level directory.  However,
automake: this behaviour will change in future Automake versions: they will
automake: unconditionally cause object files to be placed in the same subdirectory
automake: of the corresponding sources.
automake: You are advised to start using 'subdir-objects' option throughout your
automake: project, to avoid future incompatibilities.
cpp/tests/Makefile.am:20: warning: source file '$(top_srcdir)/utils/parseargs.cc' is in a subdirectory,
cpp/tests/Makefile.am:20: but option 'subdir-objects' is disabled
parallel-tests: installing './test-driver'
test/Makefile.am:58: warning: source file '../utils/parseargs.cc' is in a subdirectory,
test/Makefile.am:58: but option 'subdir-objects' is disabled

$ automake --version
automake (GNU automake) 1.14.1
...
Comment 1 Hib Eris 2014-09-14 09:37:49 UTC
Created attachment 106248 [details] [review]
Refactor Makefiles to build a noinst library for parsing args
Comment 2 Albert Astals Cid 2014-09-25 23:15:09 UTC
Just enable subdir-objects ? It seems easier than the whole change, no?
Comment 3 Hib Eris 2014-09-26 09:20:56 UTC
(In reply to comment #2)
> Just enable subdir-objects ? It seems easier than the whole change, no?

The reason automake will change its behaviour in the future is that its developers prefer a 'no subdir-objects' mode of operation. It will be the default.
The 'subdir-objects' mode gives the 'old' (=current) behaviour.
I am inclined to think the automake developers have good reasons to change automake's behaviour. 

When it is easy for an existing project like poppler to adopt to the new default behaviour, I think it should choose to do so, instead of working around it by using an option to enable old behaviour.

For me it is a lot like the situation with '--enable-xpdf-headers': there might be good reasons to use that option, but I would strongly prefer it if people didn't.
Comment 4 Albert Astals Cid 2014-09-28 22:34:31 UTC
Ok


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.