Commit graph

589 commits

Author SHA1 Message Date
Mickey Rose
a25f53e667 scons: improve parsing CUSTOM_LDFLAGS
With the help of SCons.Environment.ParseFlags, split user-supplied
CUSTOM_LDFLAGS into appropriate option lists: LIBPATH, LIBS, etc.
Known non-linker options (like -Dx -I.) will be reported and ignored,
unrecognized options will be appended to LINKFLAGS.
2019-08-18 23:01:11 +02:00
Mickey Rose
08ccaf109b scons: facilitate passing linker options with '$ORIGIN'
Passing CUSTOM_LDFLAGS='-Wl,-rpath=$ORIGIN' to ./configure is
unnecessarily difficult and error-prone. The option needs to be
protected from SCons variable substitution by doubling the '$',
and also from shell parameter expansion with a backslash.
Such fortified value then cannot be used directly in contexts
where either expansion does not happen.

This commit makes that protection optional by injecting variable
named ORIGIN, that resolves to '$ORIGIN', into both the SCons
construction Environment and the process environment, so whenever
'$ORIGIN' undergoes variable substitution, it is replaced by the
original string.
2019-08-18 22:48:18 +02:00
Artem Pavlenko
0db5d6231f Add 'QUIET` boolean configuration option to reduce build verbosity (default: no)
To enable =>  `./scons/scons.py configure QUIET=y`
2019-03-07 19:01:24 +00:00
Dane Springmeyer
bcb4f2020e
Merge pull request #3866 from mapnik/remove-sanitize-shorthands
Remove sanitizer flags to configure step
2018-12-02 18:10:32 -08:00
Jiri Drbalek
cfbc044fd2 Force full qualification of ICU types
https://github.com/mapnik/mapnik/issues/3961
2018-08-03 16:02:20 +00:00
Artem Pavlenko
c81a40d9eb
Merge pull request #3923 from lightmare/sconf-fixup-messages
scons configure cleanup
2018-07-02 09:53:25 +02:00
Mickey Rose
b417ddf32d SConstruct: shortest_name is a one-liner 2018-06-29 16:43:33 +02:00
Mickey Rose
89d0c6da19 SConstruct: change rollback_option to free function
It shouldn't be a conftest. First, it doesn't act like one. Second,
calling it as conf.rollback_option from within another conftest before
calling context.Result confuses scons, it doesn't expect conftests to be
nested and reports "error: no result" for the outer one as soon as the
inner is called.
2018-06-29 16:24:04 +02:00
Mickey Rose
16eb870303 SConstruct: fixup config.log message order
- always call .Message before .TryRun
- always unpack .TryRun result tuple
2018-06-29 16:07:47 +02:00
Mickey Rose
a17de02ce4 SConstruct: fixup ICU min version check
- "Say what you mean." The check is for version >= 4.0, not 4.2
- call .Message before .TryRun
- don't silence .Result
2018-06-29 16:00:23 +02:00
Mickey Rose
a2af3a53fa SConstruct: fixup HarfBuzz configure checks
- call .Message before .TryRun
- don't silence .Result
- report found version even if it's really old and doesn't even define
  HB_VERSION_ATLEAST macro
2018-06-29 15:48:51 +02:00
Mickey Rose
4531393367 SConstruct: fix configure check ogr_enabled
gdal-config --ogr-enabled writes yes/no to stdout,
but always returns 0 (unless an invalid argument is given)
2018-06-28 15:02:27 +02:00
Mickey Rose
e63003a6e0 SConstruct: log configure commands to config.log
Forgot that with `TryAction`, configure commands and their outputs were
being logged in `config.log`, and the previous commit failed to retain
this ability.

New function `config_command` mimics the logging, with the modification
that output lines are prefixed with `->` so they stand out a bit more.
2018-06-28 15:02:27 +02:00
Mickey Rose
9baa10d135 SConstruct: avoid incorrect usage of sconf.TryAction
Closes #3918

Replace all previous uses of `call` and `TryAction` with a new function
`silent_command`, which invokes `subprocess.Popen` and returns both exit
status and command output.
2018-06-27 21:03:30 +02:00
Dane Springmeyer
e9ebc938e0 [build] ensure we don't fail abruptly in BOOST_LIB_VERSION_FROM_HEADER is unknown 2018-06-19 17:21:50 -07:00
Raul Marin
23755a527a Use pkg-config to find FreeType2 if available 2018-05-03 17:07:37 +02:00
Dane Blakely Springmeyer
8af9bfe8e0 don't error oddly if compiler is not found 2018-04-29 21:08:36 -07:00
Artem Pavlenko
abce91a180 decode ret into str for consistency. 2018-02-28 15:42:25 +01:00
Dane Springmeyer
fb8cbb6848 remove shorthands for sanitizers, best to pass flags manually 2018-02-27 10:28:53 -08:00
Raul Marin
765406f9a7 ICU DATA: Default to icu-config if u_getDataDirectory fails 2018-02-23 15:33:10 +01:00
Raul Marin
b77ad659d8 PROJ_LIB: Fix detection code
.sconf_temp/conftest_24.cpp:30:42: error: use of undeclared identifier 'strlen'
2018-02-20 14:24:06 +01:00
Jiri Drbalek
ea7ba2c099 add polylabel placement method 2017-12-13 21:48:13 +00:00
Artem Pavlenko
bfb071233e fix 'prioritize_linking' option + remove depricated has_key usage 2017-11-23 11:30:35 +01:00
Artem Pavlenko
8cd2ae322e support both python 2 and 3. 2017-11-22 14:56:20 +01:00
Artem Pavlenko
047c3f4bba Scons/python3 - fix bytes to str conversions (#3798) 2017-11-21 13:12:52 +01:00
Artem Pavlenko
5732df452c support SCons 3 (initial attempt) 2017-11-16 11:59:55 +01:00
Dane Springmeyer
1ad3ae044b at workaround for throw_out_of_range_fmt 2017-11-09 10:07:26 -08:00
Dane Springmeyer
e5b837ff97 remove -Wc++14-extensions flag (added in 064b99168) (#3778) 2017-10-11 16:26:39 +02:00
Artem Pavlenko
02c6124559 Revert "remove legacy defines"
This reverts commit ebb8d3b3ed.
2017-09-12 09:54:40 +01:00
Artem Pavlenko
ebb8d3b3ed remove legacy defines 2017-09-11 10:46:57 +01:00
Dane Springmeyer
8689048ba6 port #3759 to master 2017-09-10 08:19:04 -07:00
Artem Pavlenko
0253653676 Geobuf.input (#3715)
* geobuf.input - initial implementation (WIP)

* geobuf.input - fix reading MultiPolygon's

* geobuf.input - don't store invalid bounding boxes in r-tree.

* Use `protozero` lib to read `geobuf` (Initial implementation, not complete!)

* geobuf.input - poring to `protozero`. (TODO: add support for `GeometryCollection`)

* add initial support for `GeometryCollection` + cleanup namespaces

* remove stderr + cleanup + update copyright

* fix GeometryCollection and MultiLineString decoding + add support for standalone Feature and Geometry

* don't use `reserve` as undelying data format doesn't allow for efficient `distance` implementation.

* add geobuf unit test + update test data

* update data
2017-08-17 10:52:07 +01:00
artemp
064b99168b geometry.hpp 2017-03-27 16:14:51 +01:00
artemp
d169fb473e add geometry.hpp as submodule 2016-06-27 09:45:25 +01:00
Dane Springmeyer
07f34f03de scons: don't recommend now oldish compilers [skip ci] 2016-06-14 21:12:42 -07:00
Dane Springmeyer
20a9112135 remove boost thread checking since it is no longer a dependency 2016-05-19 19:37:31 -04:00
artemp
75189905d6 upgrade to latest variant.hpp 2016-05-09 11:42:46 +02:00
Dane Springmeyer
e5fafd31d1 skip boost check when cross compiling [skip ci] 2016-04-21 09:04:38 -07:00
Dane Springmeyer
087add2c71 Remove MAPNIK_BUNDLED_SHARE_DIRECTORY build option
- this was intended to be used by python-mapnik
 - but it is not currently, so let's clean it up
 - todo: get actual ICU_DATA,PROJ_LIB,GDAL_DATA values from those depependent libs
2016-03-16 13:48:26 -07:00
Dane Springmeyer
228513cf3e back off -Wold-style-cast -Wreserved-id-macro -Wmissing-noreturn for now 2016-03-10 13:41:51 -08:00
Dane Springmeyer
3985014c04 Add agg warning suppression header 2016-03-09 17:42:24 -08:00
Dane Springmeyer
23fb010ea2 disable dlclose when building with --coverage - refs #3344 2016-03-03 15:02:03 -08:00
Dane Springmeyer
833703026d add COVERAGE configure option - only set coverage flags on libmapnik and plugins - refs #3344 2016-03-03 14:19:12 -08:00
Dane Springmeyer
52cabfd107 expat is no longer a must have cairo dep since cairo can be built without fontconfig [skip ci] 2016-02-03 10:57:09 -08:00
Dane Springmeyer
8115659fa6 Default to vizibility=hidden and inlines-hidden - refs #1863 2016-01-11 16:51:14 -08:00
Blake Thompson
dfa62c88d8 fix for santize address errors 2015-12-27 21:40:10 -06:00
Dane Springmeyer
59723ae693 restore -Wno-unsequenced, accidentally dropped in 7608040906 2015-12-01 13:59:45 -05:00
Dane Springmeyer
5eefd8b1ec better harfbuzz ft check - refs #3166 2015-11-09 11:11:07 -08:00
Dane Springmeyer
8e1996d6c6 Scons: check for harfbuzz with freetype support 2015-11-09 10:58:16 -08:00
Dane Springmeyer
7608040906 centralize warning suppression 2015-11-07 17:53:09 -08:00