diff options
author | Ralph Amissah <ralph@amissah.com> | 2020-03-07 07:59:13 -0500 |
---|---|---|
committer | Ralph Amissah <ralph.amissah@gmail.com> | 2020-03-14 15:17:41 -0400 |
commit | 466509b8fc225db0e37021f6e71d0d7648ffcf83 (patch) | |
tree | 1fee28daec7cf516e0dacc407367c804d56110cc | |
parent | meson build (diff) |
meson build (subproject imageformats pinned 7.0.0)
- subprojects with "manual" git download where
upstream git lacks meson.build
- imageformats git tag (version) pinned, else
build fails
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | makefile | 29 | ||||
-rw-r--r-- | org/spine_build_scaffold.org | 91 | ||||
-rw-r--r-- | subprojects/D-YAML.wrap | 4 | ||||
-rw-r--r-- | subprojects/d2sqlite3.dub.sdl (renamed from subprojects/d2sqlite3/dub.sdl) | 0 | ||||
-rw-r--r-- | subprojects/d2sqlite3.meson.build (renamed from subprojects/d2sqlite3/meson.build) | 2 | ||||
-rw-r--r-- | subprojects/d2sqlite3.wrap | 4 | ||||
-rw-r--r-- | subprojects/d2sqlite3/.gitignore | 10 | ||||
-rw-r--r-- | subprojects/dyaml/dub.json | 25 | ||||
-rw-r--r-- | subprojects/dyaml/meson.build | 70 | ||||
-rw-r--r-- | subprojects/imageformats.dub.sdl (renamed from subprojects/imageformats/dub.sdl) | 0 | ||||
-rw-r--r-- | subprojects/imageformats.meson.build | 40 | ||||
-rw-r--r-- | subprojects/imageformats.wrap | 4 | ||||
-rw-r--r-- | subprojects/imageformats/meson.build | 40 | ||||
-rw-r--r-- | subprojects/tinyendian/.gitignore | 4 | ||||
-rw-r--r-- | subprojects/tinyendian/dub.json | 16 | ||||
-rw-r--r-- | subprojects/tinyendian/meson.build | 41 |
17 files changed, 125 insertions, 260 deletions
@@ -34,9 +34,10 @@ !**/*.ssm !subprojects !subprojects/*.wrap +!subprojects/*.meson.build # !subprojects/dyaml -!subprojects/d2sqlite3 -!subprojects/imageformats +# !subprojects/d2sqlite3 +# !subprojects/imageformats # !subprojects/tinyendian subprojects/*/.gitignore !pod.manifest @@ -91,18 +91,33 @@ markup_dir_samples: all: dmd ldc gdc all_ver: dmd_ver ldc_ver gdc_ver all_debug: dmd_debug gdc_debug ldc_debug -meson: dub_upgrade - rm -r build; mkdir build - meson --buildtype=debugoptimized build - ninja -C build - notify-send -t 0 'D meson build ldc compiled test release executable ready' 'spine' -mesonredo: +meson_clean_build_dir: rm -r build; mkdir build +meson_get_subprojects: meson_clean_build_dir + rm -rf subprojects/d2sqlite3; rm -rf subprojects/imageformats + rm -rf subprojects/dyaml; rm -rf subprojects/tinyendian + git clone https://github.com/biozic/d2sqlite3.git subprojects/d2sqlite3 + git clone https://github.com/lgvz/imageformats.git subprojects/imageformats + cd subprojects/d2sqlite3; \ + git checkout -b add_meson_build_patch; \ + cp ../d2sqlite3.meson.build meson.build; \ + git add . ; git commit -m"project meson.build added"; \ + cd ../.. + cd subprojects/imageformats; \ + git checkout -b add_meson_build_patch v7.0.0; \ + cp ../imageformats.meson.build meson.build; \ + git add . ; git commit -m"project meson.build added"; \ + cd ../.. +mesonclean: clean skel tangle dub_upgrade meson --buildtype=debugoptimized build ninja -C build -mesonclean: clean skel tangle dub_upgrade +meson_build: meson_clean_build_dir meson --buildtype=debugoptimized build ninja -C build + notify-send -t 0 'D meson build ldc compiled test release executable ready' 'spine' +meson_upgrade: dub_upgrade meson_get_subprojects +meson_upgrade_and_build: dub_upgrade meson_get_subprojects meson_clean_build_dir meson_build +meson: meson_clean_build_dir meson_build all_clean: clean tangle dmd ldc gdc all_ver_clean: clean tangle dmd_ver ldc_ver gdc_ver all_debug_ver: dmd_debug_ver gdc_debug_ver ldc_debug_ver diff --git a/org/spine_build_scaffold.org b/org/spine_build_scaffold.org index cd21833..711014b 100644 --- a/org/spine_build_scaffold.org +++ b/org/spine_build_scaffold.org @@ -200,19 +200,38 @@ all_debug: dmd_debug gdc_debug ldc_debug ******** _meson_ build :meson: +- bug in build of imageformats > v7.0.0 (currently at 7.0.2) + checkout of v7.0.0 hopefully a tmp fix + (remove when possible & use upstream head) + #+BEGIN_SRC makefile :tangle ../makefile -meson: dub_upgrade - rm -r build; mkdir build - meson --buildtype=debugoptimized build - ninja -C build - notify-send -t 0 'D meson build ldc compiled test release executable ready' 'spine' -mesonredo: +meson_clean_build_dir: rm -r build; mkdir build +meson_get_subprojects: meson_clean_build_dir + rm -rf subprojects/d2sqlite3; rm -rf subprojects/imageformats + rm -rf subprojects/dyaml; rm -rf subprojects/tinyendian + git clone https://github.com/biozic/d2sqlite3.git subprojects/d2sqlite3 + git clone https://github.com/lgvz/imageformats.git subprojects/imageformats + cd subprojects/d2sqlite3; \ + git checkout -b add_meson_build_patch; \ + cp ../d2sqlite3.meson.build meson.build; \ + git add . ; git commit -m"project meson.build added"; \ + cd ../.. + cd subprojects/imageformats; \ + git checkout -b add_meson_build_patch v7.0.0; \ + cp ../imageformats.meson.build meson.build; \ + git add . ; git commit -m"project meson.build added"; \ + cd ../.. +mesonclean: clean skel tangle dub_upgrade meson --buildtype=debugoptimized build ninja -C build -mesonclean: clean skel tangle dub_upgrade +meson_build: meson_clean_build_dir meson --buildtype=debugoptimized build ninja -C build + notify-send -t 0 'D meson build ldc compiled test release executable ready' 'spine' +meson_upgrade: dub_upgrade meson_get_subprojects +meson_upgrade_and_build: dub_upgrade meson_get_subprojects meson_clean_build_dir meson_build +meson: meson_clean_build_dir meson_build #+END_SRC ******* clean & tangle :clean:tangle: @@ -1011,6 +1030,11 @@ http://mesonbuild.com/Dependencies.html#Dub ls -1 ./src/*/**/*.d tree -fi ./src |rg "\.d$" +tree -if src | rg ".+\.d$" > spine_sources.txt && \ +for i in spine_sources.txt; do; \ +sed -i "s/\(.\+\.d$\)/ '\1',/g" $i; done && \ +cat spine_sources.txt + #+BEGIN_SRC sh :tangle ../meson.build project('spine', 'd', license: 'AGPL3', @@ -1110,23 +1134,24 @@ spine_exe = executable('spine', *** d2sqlite3 **** wrap -#+BEGIN_SRC sh :tangle ../subprojects/d2sqlite3.wrap +#+BEGIN_SRC sh :NO-tangle ../subprojects/d2sqlite3.wrap [wrap-git] directory = d2sqlite3 url = https://github.com/biozic/d2sqlite3.git revision = head +# revision = add_meson_build_patch #+END_SRC **** meson.build -#+BEGIN_SRC sh :tangle ../subprojects/d2sqlite3/meson.build +#+BEGIN_SRC sh :tangle ../subprojects/d2sqlite3.meson.build project('d2sqlite3', 'd', meson_version: '>=0.46', license: 'BSL-1.0', version: '0.18.3' ) -project_soversion = '0' +project_soversion = '0' src_dir = include_directories('source/') pkgc = import('pkgconfig') @@ -1258,49 +1283,50 @@ dyaml_dep = declare_dependency( *** imageformats **** wrap -#+BEGIN_SRC sh :tangle ../subprojects/imageformats.wrap +#+BEGIN_SRC sh :NO-tangle ../subprojects/imageformats.wrap [wrap-git] directory = imageformats url = https://github.com/lgvz/imageformats.git revision = head +# revision = add_meson_build_patch #+END_SRC **** meson.build -#+BEGIN_SRC sh :tangle ../subprojects/imageformats/meson.build +#+BEGIN_SRC sh :tangle ../subprojects/imageformats.meson.build project('imageformats', 'd', - meson_version: '>=0.46', - license: 'BSL-1.0', - version: '7.0.0' + meson_version: '>=0.46', + license: 'BSL-1.0', + version: '7.0.0' ) -project_soversion = '0' +project_soversion = '0' src_dir = include_directories('.') pkgc = import('pkgconfig') imageformats_src = [ - 'imageformats/bmp.d', - 'imageformats/jpeg.d', - 'imageformats/package.d', - 'imageformats/png.d', - 'imageformats/tga.d' + 'imageformats/bmp.d', + 'imageformats/jpeg.d', + 'imageformats/package.d', + 'imageformats/png.d', + 'imageformats/tga.d' ] install_subdir('imageformats/', install_dir: 'include/d/imageformats-d/') imageformats_lib = library('imageformats-d', - [imageformats_src], - include_directories: [src_dir], - install: true, - version: meson.project_version(), - soversion: project_soversion + [imageformats_src], + include_directories: [src_dir], + install: true, + version: meson.project_version(), + soversion: project_soversion ) pkgc.generate(name: 'imageformats-d', - libraries: imageformats_lib, - subdirs: 'd/imageformats-d/', - version: meson.project_version(), - description: 'Decoders for PNG, TGA, BMP, JPEG and encoders for PNG, TGA, BMP.' + libraries: imageformats_lib, + subdirs: 'd/imageformats-d/', + version: meson.project_version(), + description: 'Decoders for PNG, TGA, BMP, JPEG and encoders for PNG, TGA, BMP.' ) # for use by others which embed this as subproject @@ -1405,9 +1431,10 @@ tinyendian_dep = declare_dependency( !**/*.ssm !subprojects !subprojects/*.wrap +!subprojects/*.meson.build # !subprojects/dyaml -!subprojects/d2sqlite3 -!subprojects/imageformats +# !subprojects/d2sqlite3 +# !subprojects/imageformats # !subprojects/tinyendian subprojects/*/.gitignore !pod.manifest diff --git a/subprojects/D-YAML.wrap b/subprojects/D-YAML.wrap deleted file mode 100644 index 8b3f503..0000000 --- a/subprojects/D-YAML.wrap +++ /dev/null @@ -1,4 +0,0 @@ -[wrap-git] -directory = dyaml -url = https://github.com/dlang-community/D-YAML.git -revision = head diff --git a/subprojects/d2sqlite3/dub.sdl b/subprojects/d2sqlite3.dub.sdl index f2bd29f..f2bd29f 100644 --- a/subprojects/d2sqlite3/dub.sdl +++ b/subprojects/d2sqlite3.dub.sdl diff --git a/subprojects/d2sqlite3/meson.build b/subprojects/d2sqlite3.meson.build index 1726952..1685738 100644 --- a/subprojects/d2sqlite3/meson.build +++ b/subprojects/d2sqlite3.meson.build @@ -4,7 +4,7 @@ project('d2sqlite3', 'd', version: '0.18.3' ) -project_soversion = '0' +project_soversion = '0' src_dir = include_directories('source/') pkgc = import('pkgconfig') diff --git a/subprojects/d2sqlite3.wrap b/subprojects/d2sqlite3.wrap deleted file mode 100644 index 78643b5..0000000 --- a/subprojects/d2sqlite3.wrap +++ /dev/null @@ -1,4 +0,0 @@ -[wrap-git] -directory = d2sqlite3 -url = https://github.com/biozic/d2sqlite3.git -revision = head diff --git a/subprojects/d2sqlite3/.gitignore b/subprojects/d2sqlite3/.gitignore deleted file mode 100644 index 8d7b4d4..0000000 --- a/subprojects/d2sqlite3/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -.dub -dub.selections.json -__test__* -d2sqlite3-test* -libd2sqlite3.a -TODO.txt -docs.json -docs -sqlite3.o -lib/*/*.lib diff --git a/subprojects/dyaml/dub.json b/subprojects/dyaml/dub.json deleted file mode 100644 index 07ee17e..0000000 --- a/subprojects/dyaml/dub.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "dyaml", - "description": "YAML parser and emitter", - "authors": [ - "Ferdinand Majerech", - "Cameron \"Herringway\" Ross" - ], - "license": "BSL-1.0", - "dependencies": { - "tinyendian" : "~>0.2.0" - }, - "homepage": "https://github.com/dlang-community/D-YAML", - "copyright": "Copyright © 2011-2018, Ferdinand Majerech", - "subPackages": [ - "examples/constructor", - "examples/getting_started", - "examples/representer", - "examples/resolver", - "examples/tojson", - "examples/yaml_bench", - "examples/yaml_gen", - "examples/yaml_stats", - "testsuite" - ] -} diff --git a/subprojects/dyaml/meson.build b/subprojects/dyaml/meson.build deleted file mode 100644 index 68d17c7..0000000 --- a/subprojects/dyaml/meson.build +++ /dev/null @@ -1,70 +0,0 @@ -project('D-YAML', 'd', - meson_version: '>=0.40.0', - subproject_dir: 'contrib', - version: '0.8.0' -) - -project_soversion = '0' - -src_dir = include_directories('source/') -pkgc = import('pkgconfig') - -dyaml_src = [ - 'source/dyaml/composer.d', - 'source/dyaml/constructor.d', - 'source/dyaml/dumper.d', - 'source/dyaml/emitter.d', - 'source/dyaml/encoding.d', - 'source/dyaml/escapes.d', - 'source/dyaml/event.d', - 'source/dyaml/exception.d', - 'source/dyaml/linebreak.d', - 'source/dyaml/loader.d', - 'source/dyaml/node.d', - 'source/dyaml/package.d', - 'source/dyaml/parser.d', - 'source/dyaml/queue.d', - 'source/dyaml/reader.d', - 'source/dyaml/representer.d', - 'source/dyaml/resolver.d', - 'source/dyaml/scanner.d', - 'source/dyaml/serializer.d', - 'source/dyaml/style.d', - 'source/dyaml/tagdirective.d', - 'source/dyaml/test/common.d', - 'source/dyaml/test/compare.d', - 'source/dyaml/test/constructor.d', - 'source/dyaml/test/emitter.d', - 'source/dyaml/test/errors.d', - 'source/dyaml/test/inputoutput.d', - 'source/dyaml/test/reader.d', - 'source/dyaml/test/representer.d', - 'source/dyaml/test/resolver.d', - 'source/dyaml/test/tokens.d', - 'source/dyaml/token.d' -] -install_subdir('source/dyaml', install_dir: 'include/d/yaml/') - -tinyendian_dep = dependency('tinyendian', version: '>=0.2.0', fallback: ['tinyendian', 'tinyendian_dep']) - -dyaml_lib = library('dyaml', - [dyaml_src], - include_directories: [src_dir], - dependencies: [tinyendian_dep], - install: true, - version: meson.project_version(), - soversion: project_soversion -) -pkgc.generate(name: 'dyaml', - libraries: dyaml_lib, - subdirs: 'd/yaml/', - version: meson.project_version(), - description: 'YAML parser and emitter for the D programming language.' -) - -# Make D-YAML easy to use as subproject -dyaml_dep = declare_dependency( - link_with: dyaml_lib, - include_directories: [src_dir], - dependencies: [tinyendian_dep] -) diff --git a/subprojects/imageformats/dub.sdl b/subprojects/imageformats.dub.sdl index 2814286..2814286 100644 --- a/subprojects/imageformats/dub.sdl +++ b/subprojects/imageformats.dub.sdl diff --git a/subprojects/imageformats.meson.build b/subprojects/imageformats.meson.build new file mode 100644 index 0000000..f9c8855 --- /dev/null +++ b/subprojects/imageformats.meson.build @@ -0,0 +1,40 @@ +project('imageformats', 'd', + meson_version: '>=0.46', + license: 'BSL-1.0', + version: '7.0.0' +) + +project_soversion = '0' + +src_dir = include_directories('.') +pkgc = import('pkgconfig') + +imageformats_src = [ + 'imageformats/bmp.d', + 'imageformats/jpeg.d', + 'imageformats/package.d', + 'imageformats/png.d', + 'imageformats/tga.d' +] +install_subdir('imageformats/', install_dir: 'include/d/imageformats-d/') + +imageformats_lib = library('imageformats-d', + [imageformats_src], + include_directories: [src_dir], + install: true, + version: meson.project_version(), + soversion: project_soversion +) + +pkgc.generate(name: 'imageformats-d', + libraries: imageformats_lib, + subdirs: 'd/imageformats-d/', + version: meson.project_version(), + description: 'Decoders for PNG, TGA, BMP, JPEG and encoders for PNG, TGA, BMP.' +) + +# for use by others which embed this as subproject +imageformats_dep = declare_dependency( + link_with: [imageformats_lib], + include_directories: [src_dir] +) diff --git a/subprojects/imageformats.wrap b/subprojects/imageformats.wrap deleted file mode 100644 index 09f342c..0000000 --- a/subprojects/imageformats.wrap +++ /dev/null @@ -1,4 +0,0 @@ -[wrap-git] -directory = imageformats -url = https://github.com/lgvz/imageformats.git -revision = head diff --git a/subprojects/imageformats/meson.build b/subprojects/imageformats/meson.build deleted file mode 100644 index 584e2af..0000000 --- a/subprojects/imageformats/meson.build +++ /dev/null @@ -1,40 +0,0 @@ -project('imageformats', 'd', - meson_version: '>=0.46', - license: 'BSL-1.0', - version: '7.0.0' -) - -project_soversion = '0' - -src_dir = include_directories('.') -pkgc = import('pkgconfig') - -imageformats_src = [ - 'imageformats/bmp.d', - 'imageformats/jpeg.d', - 'imageformats/package.d', - 'imageformats/png.d', - 'imageformats/tga.d' -] -install_subdir('imageformats/', install_dir: 'include/d/imageformats-d/') - -imageformats_lib = library('imageformats-d', - [imageformats_src], - include_directories: [src_dir], - install: true, - version: meson.project_version(), - soversion: project_soversion -) - -pkgc.generate(name: 'imageformats-d', - libraries: imageformats_lib, - subdirs: 'd/imageformats-d/', - version: meson.project_version(), - description: 'Decoders for PNG, TGA, BMP, JPEG and encoders for PNG, TGA, BMP.' -) - -# for use by others which embed this as subproject -imageformats_dep = declare_dependency( - link_with: [imageformats_lib], - include_directories: [src_dir] -) diff --git a/subprojects/tinyendian/.gitignore b/subprojects/tinyendian/.gitignore deleted file mode 100644 index 0ed3f58..0000000 --- a/subprojects/tinyendian/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -.dub -*.o -*.a -*.lib diff --git a/subprojects/tinyendian/dub.json b/subprojects/tinyendian/dub.json deleted file mode 100644 index 6313cdd..0000000 --- a/subprojects/tinyendian/dub.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "tinyendian", - "description": "Lightweight endianness handling library", - "authors": [ "Ferdinand Majerech" ], - "importPaths": ["source"], - "license": "Boost 1.0", - "homepage": "https://github.com/kiith-sa/tinyendian", - "copyright": "Copyright © 2014, Ferdinand Majerech", - - "buildTypes": - { - "debug": { "buildOptions": ["debugMode", "debugInfoC"] }, - "release": { "buildOptions": ["releaseMode", "optimize", "inline", "noBoundsCheck"] }, - "profile": { "buildOptions": ["releaseMode", "optimize", "noBoundsCheck", "debugInfoC"] }, - }, -} diff --git a/subprojects/tinyendian/meson.build b/subprojects/tinyendian/meson.build deleted file mode 100644 index f666958..0000000 --- a/subprojects/tinyendian/meson.build +++ /dev/null @@ -1,41 +0,0 @@ -# -*- mode: python; -*- - -project( - 'tinyendian', - 'd', - meson_version: '>=0.41', - version: '0.2.0', - default_options: ['buildtype=release'], -) - -src_dir = include_directories('source/') -pkgc = import('pkgconfig') - -tinyendian_src = [ - 'source/tinyendian.d' -] - -install_headers(tinyendian_src, subdir: 'd/') - -tinyendian_lib = library( - meson.project_name(), - [tinyendian_src], - include_directories: [src_dir], - version: meson.project_version(), - pic: true, - install: true, -) - -pkgc.generate( - name: meson.project_name(), - libraries: tinyendian_lib, - subdirs: 'd/', - version: meson.project_version(), - description: 'Lightweight endianness library for D.' -) - -# Make Tinyendian easy to use as subproject -tinyendian_dep = declare_dependency( - link_with: tinyendian_lib, - include_directories: [src_dir] -) |