Just build clang from trunk on OS X 10.9.2 like this:
git clone http://llvm.org/git/llvm.git
cd llvm/tools
git clone http://llvm.org/git/clang.git
cd ../
cd ./projects
git clone http://llvm.org/git/compiler-rt.git
cd ../| # http://clang-developers.42468.n3.nabble.com/How-to-determine-clang-s-system-include-dirs-to-set-in-ASTVisitor-td4029080.html | |
| : ' | |
| https://gist.github.com/springmeyer/4480481 | |
| https://gist.github.com/springmeyer/4279264 | |
| ' | |
| git clone http://llvm.org/git/llvm.git | |
| cd llvm/tools | |
| git clone http://llvm.org/git/clang.git |
| @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin | |
| cinst wget | |
| cinst msysgit | |
| cinst curl | |
| cinst 7zip | |
| @rem for bsdtar, perhaps a mistake as its massive | |
| cinst GnuWin | |
| @ rem bsdtar will be available if you close the term and re-open a new one | |
| @powershell Set-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "Unrestricted" |
| #!/usr/bin/env bash | |
| : ' | |
| Usage: | |
| source vtile-stack-setup.sh | |
| setup_all | |
| Works on either Ubuntu Linux or OS X |
| CUSTOM_CXXFLAGS = '-fvisibility-inlines-hidden -DU_CHARSET_IS_UTF8=1' | |
| CUSTOM_LDFLAGS = '' | |
| RUNTIME_LINK = 'static' | |
| INPUT_PLUGINS = 'csv,gdal,geojson,occi,ogr,osm,postgis,python,raster,rasterlite,shape,sqlite' | |
| WARNING_CXXFLAGS = '-Wno-deprecated-register -Wno-redeclared-class-member' | |
| PATH = '../mapnik-packaging/osx/out/build-cpp03-libstdcpp-gcc-x86_64-macosx/bin/' | |
| BOOST_INCLUDES = '../mapnik-packaging/osx/out/build-cpp03-libstdcpp-gcc-x86_64-macosx/include' | |
| BOOST_LIBS = '../mapnik-packaging/osx/out/build-cpp03-libstdcpp-gcc-x86_64-macosx/lib' | |
| BOOST_PYTHON_LIB = 'boost_python-2.7' | |
| FREETYPE_CONFIG = '../mapnik-packaging/osx/out/build-cpp03-libstdcpp-gcc-x86_64-macosx/bin/freetype-config' |
| ~/mapnik-packaging/node-mapnik$ valgrind --num-callers=40 node ./node_modules/.bin/_mocha test/vector-tile.test.js | |
| ==1320== Memcheck, a memory error detector | |
| ==1320== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. | |
| ==1320== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info | |
| ==1320== Command: node ./node_modules/.bin/_mocha test/vector-tile.test.js | |
| ==1320== | |
| ==1320== Warning: set address range perms: large range [0x1566ba9c2000, 0x1566da9c2000) (noaccess) | |
| ․ |
| ~/projects/rasterio[master]$ py.test | |
| ============================================================================= test session starts ============================================================================= | |
| platform darwin -- Python 2.7.5 -- py-1.4.20 -- pytest-2.5.2 | |
| collected 54 items | |
| rasterio/tests/test_band.py . | |
| rasterio/tests/test_blocks.py ........... | |
| rasterio/tests/test_colormap.py . | |
| rasterio/tests/test_coords.py .... | |
| rasterio/tests/test_copy.py . |
| diff --git a/plugins/input/gdal/gdal_datasource.cpp b/plugins/input/gdal/gdal_datasource.cpp | |
| index 78ca37a..866057e 100644 | |
| --- a/plugins/input/gdal/gdal_datasource.cpp | |
| +++ b/plugins/input/gdal/gdal_datasource.cpp | |
| @@ -44,7 +44,13 @@ using mapnik::featureset_ptr; | |
| using mapnik::layer_descriptor; | |
| using mapnik::datasource_exception; | |
| +void atexit_handler_1() | |
| +{ |
| $ ./benchmark/out/test_array_allocation --threads 10 --iterations 10000 | |
| calloc: t:10 i:10000 1620 milliseconds | |
| malloc/memcpy: t:10 i:10000 1610 milliseconds | |
| malloc/memset: t:10 i:10000 2360 milliseconds | |
| new: t:10 i:10000 2000 milliseconds | |
| vector(N): t:10 i:10000 5900 milliseconds | |
| vector/resize: t:10 i:10000 4240 milliseconds | |
| vector/assign: t:10 i:10000 5950 milliseconds | |
| std::string range: t:10 i:10000 3110 milliseconds | |
| std::string &[0]: t:10 i:10000 1680 milliseconds |
Just build clang from trunk on OS X 10.9.2 like this:
git clone http://llvm.org/git/llvm.git
cd llvm/tools
git clone http://llvm.org/git/clang.git
cd ../
cd ./projects
git clone http://llvm.org/git/compiler-rt.git
cd ../| ~$ brew install llvm35 --HEAD --with-clang --with-asan --rtti --disable-assertions --without-python --all-targets --verbose | |
| ==> Cloning http://llvm.org/git/llvm.git | |
| git --git-dir /Library/Caches/Homebrew/llvm35--git/.git status -s | |
| Updating /Library/Caches/Homebrew/llvm35--git | |
| git config remote.origin.url http://llvm.org/git/llvm.git | |
| git config remote.origin.fetch +refs/heads/master:refs/remotes/origin/master | |
| git fetch origin | |
| remote: Counting objects: 40, done. |