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 /org | |
| 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
Diffstat (limited to 'org')
| -rw-r--r-- | org/spine_build_scaffold.org | 91 | 
1 files changed, 59 insertions, 32 deletions
| 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 | 
