Michael Krasnyk
3f6ae245f6
Added osrm-customizer tool
2017-03-08 16:08:00 +00:00
Mateusz Łoskot
aa1c4eb262
Allow build with Osmium from external location.
...
If OSMIUM_INCLUDE_DIR is specified in CMake command line,
use Osmium from that location, instead of /third_party.
2017-03-08 10:27:09 +00:00
Mateusz Łoskot
a725fb4655
Add MSVC flag /bigobj to CMAKE_CXX_FLAGS
...
Fix fatal error C1128: number of sections exceeded object file format limit
while compiling src/extractor/scripting_environment_lua.cpp
2017-03-07 19:28:53 +01:00
Michael Krasnyk
65669f23a1
Allow arguments list in add_dependency_includes
2017-03-06 16:16:17 +00:00
Michael Krasnyk
172b1ff9d1
Enable building osrm-extract-conditionals on travis
2017-03-06 16:16:17 +00:00
Daniel J. Hofmann
4fa3a5c362
Disables LTO for mason+gcc
...
See https://github.com/Project-OSRM/node-osrm/pull/301
2017-03-01 16:47:46 +00:00
Daniel J. Hofmann
075f69acc2
Installs osrm-partition tool and library
2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
739ad73ae9
Be -fpermissive with gcc49: required for tbb::parallel_do_feeder compilation bug
2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
d56db500d3
Initial Skeleton for Recursive Bisection via Inertial Flow
2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
b2b5e2bb4d
Updates TBB to latest stable version for 5.6 release
2017-02-20 13:55:04 +00:00
Patrick Niklaus
73b1a46d15
Change stxxl version to package with mason.ini
2017-02-16 16:08:07 +00:00
Patrick Niklaus
7ecf3410bf
Bundle mason.cmake and mason.sh
2017-02-16 16:08:07 +00:00
Daniel J. Hofmann
2a5ebf84bc
Installs profiles to /usr/local/share/osrm/profiles by default, resolves #3670
2017-02-08 12:02:20 +01:00
Michael Krasnyk
337ecefa45
Added osrm-extract-conditionals tool
2017-01-24 10:31:59 +01:00
Daniel J. Hofmann
5c93609142
Updates Boost to 1.63 for Mason Build
2017-01-23 17:59:29 +01:00
Daniel J. Hofmann
a5d0707dd0
Removes the -DBUILD_COMPONENTS option; on by default now.
...
Quick follow up for https://github.com/Project-OSRM/osrm-backend/pull/3570 :
there is no reason not to build the `osrm-components` tool by defualt.
Backwards compatible. Users still specifying the option will see:
> Manually-specified variables were not used by the project:
> BUILD_COMPONENTS
2017-01-23 12:15:03 +01:00
Daniel J. Hofmann
f2c3b9859e
Rewrites the osrm-components tool to dump GeoJSON, resolves #2176 #1738 #1602
...
http://bl.ocks.org/d/9d6265b064c0f29a71503e0f6527769d
2017-01-20 17:50:06 +01:00
Michael Krasnyk
a48cf58468
Move IPC tools functionality into osrm-datastore
2017-01-20 12:40:37 +01:00
Michael Krasnyk
75e0b5a5c4
Fix Lua static library linking
2017-01-19 17:06:00 +01:00
Mathias Gug
9fa7e6c74f
Add BUILD_PACKAGE option.
2017-01-11 03:09:04 +01:00
Mathias Gug
84b8d3cfb9
Support rpm packages.
2017-01-11 03:09:04 +01:00
Daniel Patterson
f7e8581a1b
Replace fingerprint with semver-based scheme. ( #3467 )
2017-01-06 13:45:08 -08:00
Daniel J. Hofmann
c01ea2ea3e
Disables link-time optimization unless -DENABLE_LTO=ON is passed.
...
This disables the `-flto` LTO flag by default since we're seeing
segfaults in compiler lto plugins, binutils and linker errors again and
again for various clang / gcc / binutils combinations.
Pass `-DNEBALE_LTO` to `cmake` in order to re-enable LTO.
LTO situation in short:
- LTO does not work at all for gcc<4.9
- With gcc>=4.9 the "slim" LTO format is getting used dumping IR
- Older binutils need LTO plugins which know how to read this IR
- Recent binutils handle this format all by themselves
- LLVM is more or less the same with some Clang versions segfaulting
If you need the performance benefit of LTO, make sure your compiler and
binutils are up to date and see for yourself if LTO builds work for you.
References:
- https://gcc.gnu.org/wiki/LinkTimeOptimizationFAQ
- https://github.com/Project-OSRM/osrm-backend/pull/3481#issuecomment-270618997
- https://github.com/Project-OSRM/osrm-backend/issues/3501
- https://github.com/Project-OSRM/osrm-backend/issues/3441
(and a ton of other LTO tickets if you search for them)
2017-01-06 16:49:49 +01:00
Michael Krasnyk
f429e08851
Enforce Boost>=1.62 for MSVC
...
Reference:
https://github.com/Project-OSRM/osrm-backend/issues/3088#issuecomment-256485167
2016-12-15 12:47:50 +01:00
Daniel J. Hofmann
de062d4ca3
Explain Workaround for Broken Setups to Users
2016-12-15 12:47:50 +01:00
Daniel J. Hofmann
d83ab9d905
Enforces Boost>=1.54 requirement with CMake
2016-12-15 12:47:50 +01:00
Daniel J. Hofmann
4618b502ac
Enforces GCC>=4.9 and Clang>=3.4 requirement with CMake
2016-12-15 12:47:50 +01:00
Michael Krasnyk
84b618ed1a
Add headers consistency check
2016-12-15 10:58:17 +01:00
karenzshea
d5904d5756
increase template depth on clang and gcc builds
2016-12-15 10:55:16 +01:00
Daniel J. Hofmann
0f59b78c02
Rewrite lua bindings using sol interface
2016-12-15 10:55:16 +01:00
Daniel Patterson
3dfbf42e61
Don't mark all lanes as designated when there are blank lane specifiers in the tag.
2016-12-15 10:55:16 +01:00
Daniel Patterson
468d8c0031
Refactor logging, improve error handling workflow, clang-format. ( #3385 )
2016-12-06 12:30:46 -08:00
Daniel Patterson
928a6f0c7d
Variant got re-packaged, need to update search paths. ( #3392 )
2016-12-01 16:59:29 -08:00
Patrick Niklaus
20c8ac0272
Bump osrm version to 5.5
2016-12-01 22:12:28 +00:00
Patrick Niklaus
c99c8bccbc
Make the binutil detection work the same for clang and gcc
...
This uses the cmake internal find_program that will utilize the PATH at
configuration time. This way we don't need to pass CXXFLAGS to clang.
2016-12-01 21:55:17 +01:00
Patrick Niklaus
735191255d
No need to set ccache explicitly if its in the path
2016-12-01 21:55:17 +01:00
Dane Springmeyer
43566bfd14
support -flto with clang++
2016-12-01 21:55:17 +01:00
Patrick Niklaus
4489c8dfc2
Expose LibOSRM find_package style variable to work as subproject
2016-11-29 15:38:51 +00:00
Patrick Niklaus
ee63e39ff5
Add $ORIGIN and @executable_path to RPATH
2016-11-29 15:37:11 +00:00
Patrick Niklaus
dd811539a3
Remove overriding c++ compiler from cmake on mason build
2016-11-19 17:02:31 +01:00
Patrick Niklaus
a764fd1f29
Don't expose all OSRM flags only the ones needed by external code
2016-11-19 17:02:31 +01:00
Dane Springmeyer
fa1a0a1325
Ensure pkg-config reports OSRM_LIB_LINKER_FLAGS
2016-11-12 14:35:32 +01:00
Patrick Niklaus
12ded539aa
Merge pull request #3235 from Project-OSRM/mason-improvements
...
Mason improvements
2016-11-10 16:58:18 +01:00
Michael Krasnyk
2501882adb
Remove duplicated linking of boost and tbb libraries
2016-11-09 12:44:49 +01:00
Dane Springmeyer
b8898ef410
mason improvements
2016-11-08 15:29:49 -08:00
Michael Krasnyk
9d24a4422a
FindOsmium invoke is required for MSVC build dependencies
...
The commit is aprtial revert of
87d09f7
| * make adjustments based on PR review from @themarex
because osmium requires ws2_32
2016-11-02 18:40:17 +00:00
Dane Springmeyer
9435254661
Merge pull request #3119 from Project-OSRM/masonize
...
Masonize
2016-10-28 13:39:37 -07:00
Michael Krasnyk
b5c77de923
Fix msvc linking of boost libraries
2016-10-28 12:42:36 -07:00
Dane Springmeyer
6067fdf27f
tell mason.cmake where the mason command is
2016-10-28 12:34:34 -07:00
Dane Springmeyer
87d09f78e6
make adjustments based on PR review from @themarex
2016-10-28 12:18:13 -07:00
Dane Springmeyer
83b7d75121
Add support for building against mason-provided deps
2016-10-27 23:26:33 -07:00
Dane Springmeyer
4598599f52
# This is a combination of 4 commits.
...
# The first commit's message is:
Add support for building against mason-provided deps
# This is the 2nd commit message:
back to just one travis job: linux/release
# This is the 3rd commit message:
remove pkg-config debugging [skip ci]
# This is the 4th commit message:
use clang++ 3.8.1 for mason builds since 3.8 is what we have been using
2016-10-27 23:26:33 -07:00
Daniel Patterson
da77edfc83
Explicitly set minimum OSX version, and detect SDK path.
...
This fixes situations where XCode is installed with a newer SDK than the current OS. (#3198 )
2016-10-27 16:29:27 -06:00
Dane Springmeyer
293856981f
add -l to rt and gcov
2016-10-24 17:09:03 -07:00
Dane Springmeyer
502d9e10c2
cmake fixes:
...
- Builds up ENGINE_LIBRARY_LISTING correctly to pass to pkg-config
- Previous behavior had major flaw and would result in paths in libosrm.pc like: "-L-L"
when the data was "-L/path -lfoo" or just "-lpthread" with no -L/path. It only worked correctly for static libraries
- Refactors to call find_package for boost in one place (helps prepare for upcoming mason PR)
2016-10-20 12:09:27 -07:00
Patrick Niklaus
983ad3513a
Enabled address sanitizer
2016-10-19 18:30:06 +02:00
Daniel Patterson
b72dc8c0cf
Enable use of other build types than Debug and Release, and properly default to Release.
2016-10-14 12:37:01 +02:00
Daniel J. Hofmann
dbd108df8c
Reworks how we search for Lua in CMake and constrain to Lua 5.1 5.2
...
At the moment we have a FindLua52.cmake module that is happy with
Lua52 but also Lua51 and even Lua53. Let's instead pull in the official
one from CMake (since it's not yet in CMake 2.8 which we support).
https://github.com/Kitware/CMake/blob/master/Modules/FindLua.cmake
BSD licenced.
Requires Lua 5.1 or Lua 5.2, since seeing memory issues on 5.3:
https://github.com/Project-OSRM/osrm-backend/issues/2926
2016-10-05 13:23:48 +02:00
Daniel J. Hofmann
94ca782816
Bumps version to 5.4.0
2016-10-04 10:46:56 +02:00
Daniel J. Hofmann
b821a1dd98
Disables ld.gold on binutils < 2.26, resolves #2984
2016-10-03 15:41:40 +02:00
Daniel J. Hofmann
6290aeea93
Fixes Tile Unit Test Compilation
2016-09-30 16:58:50 +02:00
karenzshea
eafe3fa928
remove luajit support
2016-09-28 11:12:11 +02:00
Daniel J. Hofmann
d1f555dcef
Removes unused JSON logger.
...
References:
- https://github.com/Project-OSRM/osrm-backend/pull/2769
2016-09-28 10:01:56 +02:00
Daniel Patterson
fa5714ab82
Unset FORTIFY_SOURCE before setting to avoid warnings for compilers where FORTIFY_SOURCE is predefined. ( #2946 )
2016-09-27 21:32:22 -07:00
Daniel J. Hofmann
8b144f22c9
Exposes osrm::exception for client usage, resolves #2813
2016-09-01 09:12:35 +02:00
Michael Krasnyk
41b54cf25d
Don't use gold gc-sections for binutils < 2.25
...
Issue 2785: check gold binutils version and don't use gc-sections for versions prior 2.25
due to https://sourceware.org/bugzilla/show_bug.cgi?id=17639
readelf --debug-dump=frames build/libosrm_extract.so
Contents of the .eh_frame section:
...
readelf: Warning: Invalid length 0xfff01dd8 in FDE at 0x000020
2016-08-25 23:51:25 +02:00
Patrick Niklaus
5ee15ee339
Use webkit code snippet to detect GNU gold
2016-08-25 22:45:49 +02:00
Patrick Niklaus
01b0bce2d5
Use gold linker by default if available
2016-08-25 22:45:49 +02:00
Sandra Thieme
9957254a5a
Use c++1y instead of c++14
2016-08-23 13:01:07 +02:00
Daniel J. Hofmann
3a0eed2ee5
Make sanitizer used for Fuzz testing configurable via FUZZ_SANITIZER
2016-08-19 13:59:59 +02:00
Daniel J. Hofmann
2557bdcf39
Basic Fuzz Testing.
...
[100%] Fuzzing libosrm
/tmp/osrm-backend/build/fuzz/driver -max_len=4096 corpus > fuzz-0.log 2>&1
/tmp/osrm-backend/build/fuzz/driver -max_len=4096 corpus > fuzz-1.log 2>&1
/tmp/osrm-backend/build/fuzz/driver -max_len=4096 corpus > fuzz-2.log 2>&1
/tmp/osrm-backend/build/fuzz/driver -max_len=4096 corpus > fuzz-3.log 2>&1
References:
- http://llvm.org/docs/LibFuzzer.html
- http://llvm.org/releases/3.8.0/docs/LibFuzzer.html
- https://github.com/Project-OSRM/osrm-backend/issues/1678
2016-08-19 13:59:59 +02:00
Dane Springmeyer
71d64e8cd9
Default to c++14 / drop g++-4.8 from testing matrix
2016-07-25 19:30:43 +02:00
Patrick Niklaus
dc77d02e8a
Change OSRM version to 5.3.0
2016-06-28 10:35:45 +02:00
Daniel J. Hofmann
61ba985bc9
Prevent linker from discarding TBB symbols we need, fixes #2557
...
We build `osrm_contract` (the library) linking in libtbb. We then
build `osrm-contract` (the binary) linking in `osrm_contract` (the
library).
Because we're only using TBB's `parallel_invoke` in the code for the
binary, it seems like the linker discards some symbols in the library.
Therefore we have to link libtbb for the binary again. Even worse, the
order now matters: if we first link in `osrm_contract` and then libtbb,
we're still hitting the issue re. discarded symbols.
Therefore we first link in all dependencies (libtbb, libboost*), and
only then `osrm_contract`.
Strictly speaking, we probably have to do this for all of our binary
targets, or we will hit similar issues in the future.
2016-06-24 12:06:28 +02:00
Patrick Niklaus
a28125ee9a
Merge pull request #2577 from noblige/noblige/compile-armv7
...
option to disable LTO
2016-06-24 12:04:02 +02:00
Aleksei Potov
05dc415aba
option to disable LTO
2016-06-23 09:44:02 -07:00
Daniel Patterson
6dedd9cb72
Fix segfault when route includes very short segments.
2016-06-22 14:48:57 -07:00
Daniel J. Hofmann
256d39b572
Sync OSRM version in CMakeLists, fixes #2576
2016-06-22 17:03:31 +02:00
Michael Krasnyk
57c9525e5c
Added i686 Travis build
2016-06-20 22:45:40 +02:00
Dane Springmeyer
6ecc123d15
Fix various issues with pkg-config
2016-06-04 12:08:54 +02:00
Daniel J. Hofmann
87f00d2c4c
Restrict CMake version to 2.8.11+ for target_include_directories
2016-06-02 16:07:29 +02:00
Dane Springmeyer
4de64a92cb
fix zlib linking order
2016-05-25 09:32:27 -04:00
Patrick Niklaus
edf9e0c1ed
[skip ci] Update changelog and OSRM version
2016-05-20 18:52:00 +02:00
Dane Springmeyer
fe39d0fd10
disable BOOST_TEST_DYN_LINK if Boost_USE_STATIC_LIBS
2016-05-20 00:03:37 -04:00
Moritz Kobitzsch
ba074b0116
initial version of intersection classification
2016-05-19 16:43:46 +02:00
Daniel J. Hofmann
0f2bb5dde5
Disable builing components tool by default until GDAL 2 compatibility #1738 lands
2016-05-12 00:25:18 +02:00
Daniel J. Hofmann
98937b187f
We require Visual Studio 2015+
...
References:
- https://github.com/Project-OSRM/osrm-backend/issues/2341#issuecomment-216231618
2016-05-02 17:50:54 +02:00
Patrick Niklaus
578eda7d28
[skip ci] Add release docs
2016-04-29 14:00:10 +02:00
Patrick Niklaus
cc35d15b2d
More folds and reorder some build instructions
2016-04-25 00:19:48 +02:00
Patrick Niklaus
b6a793a1e2
Fix COVERAGE=ON and add SANITIZE=ON/OFF
2016-04-12 15:43:29 +02:00
Patrick Niklaus
6643e7f499
Integrate converage reporting
2016-04-08 20:37:51 +02:00
Patrick Niklaus
dea12779cf
basename -> filename, fixes #2027
2016-04-08 01:50:25 +02:00
Daniel J. Hofmann
a516245c94
Modularize benchmarks subproject
2016-04-06 18:36:08 +02:00
Daniel J. Hofmann
b1ed268d0e
Start modularizing the CMake buildsystem
...
The main reason for modularizing the unit tests was to split off
libboost_unit_test_framework from the osrm toolchain binaries.
Now only the unit test binaries link against it, unblocking
binary distribution without unit test library dependencies.
I started this on v4 a couple of weeks ago and hit a -llua5 issue on
Travis. By now v5 diverged quite a bit (especially in the code that I
have to stare at for debugging the issues).
https://github.com/Project-OSRM/osrm-backend/pull/2073
Let's bring this to v5+ only.
This is blocking:
- https://github.com/Project-OSRM/osrm-backend/issues/2065
- https://github.com/Project-OSRM/osrm-backend/issues/2197#issuecomment-204864938
2016-04-06 18:36:06 +02:00
Patrick Niklaus
c540c85cf8
Remove tests from default target until we get proper switchting in place
2016-04-05 22:59:14 +02:00
Patrick Niklaus
b17491ebe5
Bump osrm version
2016-04-05 22:59:14 +02:00
Patrick Niklaus
7174baa91e
Move osrm-components to BUILD_COMPONENTS flag
2016-04-05 22:59:14 +02:00
Patrick Niklaus
a964bec0f8
Add route fixture test
2016-04-05 22:59:14 +02:00
Patrick Niklaus
d51eefa1c4
Make tests build by default
2016-04-05 22:59:14 +02:00
Daniel J. Hofmann
099a805260
Initial unit tests setup for typed libosrm services
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
9d893d6d4d
Library tests build system integration
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
c3e7e96dce
Adds round trip tests for RFC 4648 Test Vectors and equality checks
2016-04-05 22:58:32 +02:00
Patrick Niklaus
59163cb2fc
Install storage_config.hpp
2016-04-05 22:58:32 +02:00
Patrick Niklaus
cb8bfa027e
Only allow to specify the common base path
2016-04-05 22:58:32 +02:00
Patrick Niklaus
29cf9e05db
Only install necessary headers
2016-04-05 22:58:32 +02:00
Patrick Niklaus
0b3289ea37
Remove the encoder/decoder dependecy from Hint
2016-04-05 22:58:32 +02:00
Patrick Niklaus
a8fc95d4e4
Move bearing to public namespace
2016-04-05 22:58:32 +02:00
Patrick Niklaus
b08b360f38
Big Restructuring / Cleanup
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
f1aa03c360
handle segregated roads (merge for turn analysis)
2016-04-05 22:58:32 +02:00
Moritz Kobitzsch
ef1e0e14ec
advanced guidance on 5.0
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
715ee66b03
Install _all_ transitively from public headers included header
2016-04-05 22:58:32 +02:00
Daniel J. Hofmann
fcf5838019
Fixes missing public header installations
2016-04-05 22:58:32 +02:00
Patrick Niklaus
f3e72623e9
Add viaroute suport for new API
2016-04-05 22:58:32 +02:00
bergwerkgis
d0636a9f6d
make AppVeyor work again
2016-03-31 16:49:30 +02:00
Daniel J. Hofmann
af554e7ed0
Provide uninstall target, closes #1972
2016-03-10 21:25:27 +01:00
Daniel J. Hofmann
a7d83b701f
Provides a CMake variable to disable ccache usage
2016-03-07 12:37:16 +01:00
Daniel J. Hofmann
d0b591307a
We're already on v4.9.1, update CMakeLists, closes #2060
2016-03-07 12:25:54 +01:00
Daniel Patterson
017ff53702
Code review updates.
2016-03-03 13:25:01 -08:00
Daniel Patterson
03d360b7bf
Enable color output when compiling with clang - makes errors a bit easier to spot.
2016-03-02 18:00:31 -08:00
Daniel J. Hofmann
becae46296
Enable decltype-based result_of type alias
2016-03-01 23:51:26 +01:00
Daniel Patterson
56e35e8ef2
Remove GeoJSON based debugging output, we can now generate vector tiles with roughly the same data on-the-fly.
2016-03-01 23:51:25 +01:00
Patrick Niklaus
085bab749f
osrm-prepare -> osrm-contract
2016-03-01 16:43:34 +01:00
Daniel J. Hofmann
4b8c0ac143
Revert "Folds json_* utilities into json subfolder and adapts includes"
...
This reverts commit cd039c69c0a92a35889e3c875b8eb53cf07377bb.
2016-02-12 15:46:24 -08:00
Daniel J. Hofmann
ec01c2a119
Folds json_* utilities into json subfolder and adapts includes
2016-02-12 15:46:24 -08:00
Daniel J. Hofmann
ef171f3acd
Properly use typed math constants instead of impl. specific hacks
...
PI is not in the stdlib, neither is 1/pi, pi*2 and so on. Instead
of relying on implementations providing these, use properly typed
math constants.
Main benefits:
- portable and
- returns constexpr, for compile-time computation
References:
- http://www.boost.org/doc/libs/1_60_0/libs/math/doc/html/math_toolkit/constants_intro.html
- http://www.boost.org/doc/libs/1_60_0/libs/math/doc/html/math_toolkit/constants.html
2016-02-12 15:46:24 -08:00
Daniel J. Hofmann
7a115e93c0
Removes check-hsgr
2016-01-26 22:57:02 +01:00
Daniel J. Hofmann
502aedb33e
Provide a way to selectively enable assertions in release mode
...
- Throwing an assertion exception for proper stack unwinding, making
sure destructors are called
- On in Debug mode, in Release, enable via:
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_ASSERTIONS=ON
Current problem that I'm seeing is that some code is not catching
exceptions or worse silently swallowing them. Would like to check the
whole pipeline before merging this in.
2016-01-21 15:37:25 +01:00
Patrick Niklaus
439eb9da3d
Create public facing libraries for extractor, contractor and datastore
...
New libraries libosrm_extract, libosrm_contract, libosrm_store
2016-01-21 06:47:34 +01:00
Moritz Kobitzsch
1c1bfd7541
Fix routing when start and target are on the same segment
...
Fixes issue #1864 . Given the simple set-up:
a --> b --> c
^-----------|
This would translate into an edge based graph (ab) -> (bc),
(bc) -> (ca), (ca) -> (ab).
Starting at the end of the one-way street (ab) and going to
the beginning, the query has to find a self-loop within the
graph (ab) -> (bc) -> (ca) -> (ab), as both nodes map to the
same segment (ab).
2016-01-19 23:26:19 +01:00
Daniel J. Hofmann
fc292cc2d8
No need for extra translation units (for edge data structures)
2016-01-11 20:11:44 +01:00
Daniel J. Hofmann
d3ef520915
Print message about ccache usage from cmake
2016-01-07 15:20:32 +01:00
Daniel J. Hofmann
cb37c0d135
Use FindOsmium.cmake to handle libosmium's buildsystem integration
2016-01-06 12:32:19 +01:00
Patrick Niklaus
02a49c8a68
Use local includes before system includes
2016-01-03 18:47:50 +01:00
Patrick Niklaus
b618a1241f
Adapt build system
2016-01-03 18:22:31 +01:00
rparanjpe
5c3398c280
name_lengths std::vector --> stxxl::vector
2015-12-15 19:12:33 -08:00
Patrick Niklaus
a8f11981e3
Include tbb in libosrm.pc
2015-12-15 21:42:32 +01:00
Patrick Niklaus
9a332d2f86
Fix osrm.hpp placement
2015-12-15 19:25:26 +01:00
Patrick Niklaus
cdb1918973
Refactor StaticRTree to remove application dependent code
...
StaticRTree now acts like a container, just returning the input data
(NodeBasedEdge) and not PhantomNodes.
2015-12-09 23:37:05 +01:00
Daniel Patterson
b9a4c322a7
Add ability to debug routing graph visually by dumping
...
annotated GeoJSON during processing.
2015-11-19 10:41:44 -05:00
Daniel J. Hofmann
963960a44c
Switch Travis builds over to trusty for Linux (simpler dependency installs), build
...
with mutliple compilers, fix debug builds.
OSX builds are disabled until we fix #1778
2015-11-17 15:15:31 -05:00
Kal Conley
a00d3dfc00
Don't generate util/version.hpp in source tree
2015-10-19 21:33:10 +02:00
Kal Conley
cd458e7a44
Don't generate util/fingerprint_impl.hpp in source tree
2015-10-19 21:33:10 +02:00
Daniel J. Hofmann
74ac283c52
We are on v4.8.1.
2015-10-09 16:53:17 +02:00
Daniel Patterson
e45656e5bf
Refactor edge expansion into extract phase. New temporary file is generated - '.osrm.ebg' which is used by
2015-10-06 09:23:17 -07:00
Daniel J. Hofmann
5379a555db
Use ccache by default if available and a suitable compiler is used.
...
This checks if `ccache` is available, and if so uses it.
The user can stil disable it via the ccache env variable, quoting:
disable (CCACHE_DISABLE) [boolean]
When true, ccache will just call the real compiler, bypassing the cache completely. The default is false.
At least Clang required `CCACHE_CPP2`.
The user does not have to set up anything, just to install ccache.
Of course, things like the cache's max size, its location and so on can
be configured.
References:
- https://ccache.samba.org/manual.html
2015-10-06 11:18:43 +02:00
Daniel J. Hofmann
8f8bd05f83
Silence warnings with GCC, LTO does not yet respect the -isystem switch
2015-09-30 18:22:26 +02:00
Daniel J. Hofmann
b1155a202c
Re-enable manual -fPIC flag from cae59c7.
2015-09-30 18:22:26 +02:00
Daniel J. Hofmann
d4aaaf16f8
Revert "Re-enable position independent code, but in a portable way."
...
This reverts commit 2143dc97fa65c786c6566db1343ad270347dcfd3.
2015-09-30 18:22:26 +02:00
Daniel J. Hofmann
119fb63576
LTO is broken on GCC < 4.9.0, disable it.
...
References:
- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57038
- https://github.com/Project-OSRM/node-osrm/pull/112
2015-09-30 18:22:26 +02:00
Daniel J. Hofmann
3f7afd47d2
Do not violate the One Definition Rule (ODR).
...
By linking in the coordinate object file twice, we violate the ODR,
resulting in our program to not be "well-formed" in language lawyer
speak (hint: bad, very bad).
(How come no one noticed this all the time, this was introduced
somewhere between v4.5.0 and v4.6.0 from a quick look...)
References:
- C++14 standard (N3936.pfd): 3.2 One definition rule [basic.def.odr]
- http://eel.is/c++draft/basic.def.odr
2015-09-30 18:22:26 +02:00