From f2d7552aad985ea13e0ec539078ab78279f5064a Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Wed, 28 Jun 2017 04:46:45 -0400 Subject: 0.17.0 maker.org build system, dub visited maker cleaned up a bit --- dub.sdl | 92 ++++++------- makefile | 117 +++++++++++------ maker.org | 441 ++++++++++++++++++++++++++++++++------------------------------ 3 files changed, 347 insertions(+), 303 deletions(-) diff --git a/dub.sdl b/dub.sdl index 2b55dd0..ebb41d1 100644 --- a/dub.sdl +++ b/dub.sdl @@ -5,7 +5,7 @@ authors "Ralph Amissah" copyright "Copyright © 2016 Ralph Amissah" license "AGPL-3+" targetPath "./bin" -sourcePath "./src" +#sourcePath "./src/sdp" stringImportPaths "./views" buildRequirements "allowWarnings" dependency "sdlang-d" version="~>0.10.0" @@ -14,7 +14,6 @@ configuration "sdp-release" { name "release" targetType "executable" platforms "posix" - #compiler "dmd" targetName "sdp" dflags "-J=views" "-I=src/sdp" buildOptions "verbose" "releaseMode" "optimize" "inline" @@ -24,9 +23,9 @@ configuration "sdp-debug" { name "debuging" targetType "executable" platforms "posix" - #compiler "dmd" targetName "sdp-debug" - dflags "-J=views" "-I=src/sdp" + dflags "-g" "-J=views" "-I=src/sdp" + #lflags "ld.gold" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" @@ -37,9 +36,9 @@ configuration "sdp-tmp" { name "tmp" targetType "executable" platforms "posix" - #compiler "dmd" targetName "sdp-tmp" dflags "-J=views" "-I=src/sdp" + #lflags "ld.gold" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" @@ -53,7 +52,6 @@ configuration "sdp-debug-clean" { name "debug-clean" targetType "executable" platforms "posix" - #compiler "dmd" targetName "sdp-debug-clean" dflags "-J=views" "-I=src/sdp" buildOptions "verbose" "debugMode" "debugInfo" "optimize" @@ -63,147 +61,135 @@ configuration "sdp-dmd" { name "dmd" targetType "executable" platforms "posix" - compiler "dmd" targetName "sdp-dmd" dflags "-J=views" "-I=src/sdp" buildRequirements "allowWarnings" buildOptions "verbose" "releaseMode" "optimize" "inline" postGenerateCommands "/usr/bin/notify-send -t 0 'D dmd compiled test release executable ready' 'sdp-dmd'" } -configuration "sdp-debug-dmd" { +configuration "sdp-dmd-debug" { name "debuging" targetType "executable" platforms "posix" - compiler "dmd" - targetName "sdp-debug-dmd" - dflags "-J=views" "-I=src/sdp" + targetName "sdp-dmd-debug" + dflags "-g" "-J=views" "-I=src/sdp" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" debugVersions "dumpdoc" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-dmd'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-dmd-debug'" } -configuration "sdp-debug-unittest-dmd" { +configuration "sdp-dmd-debug-unittest" { name "debuging" targetType "executable" platforms "posix" - compiler "dmd" - targetName "sdp-debug-dmd" + targetName "sdp-dmd-debug" dflags "-J=views" "-I=src/sdp" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "unittests" "optimize" debugVersions "checkdoc" "summary" debugVersions "dumpdoc" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-dmd'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-dmd-debug'" } -configuration "sdp-debug-docs-dmd" { +configuration "sdp-dmd-debug-docs" { name "debuging" targetType "executable" platforms "posix" - compiler "dmd" - targetName "sdp-debug-dmd" + targetName "sdp-dmd-debug" dflags "-J=views" "-I=src/sdp" #lflags "ld.gold" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" debugVersions "dumpdoc" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-dmd'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-dmd-debug'" } configuration "sdp-ldc" { name "ldc" targetType "executable" platforms "posix" - compiler "ldc2" targetName "sdp-ldc" dflags "-J=views" "-I=src/sdp" buildRequirements "allowWarnings" buildOptions "verbose" "releaseMode" "optimize" "inline" postGenerateCommands "/usr/bin/notify-send -t 0 'D ldc2 compiled test release executable ready' 'sdp-ldc'" } -configuration "sdp-debug-ldc" { +configuration "sdp-ldc-debug" { name "debuging" targetType "executable" platforms "posix" - compiler "ldc2" - targetName "sdp-debug-ldc" - dflags "-J=views" "-I=src/sdp" + targetName "sdp-ldc-debug" + dflags "-g" "-J=views" "-I=src/sdp" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-ldc'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-ldc-debug'" } -configuration "sdp-debug-unittest-ldc" { +configuration "sdp-ldc-debug-unittest" { name "debuging" targetType "executable" platforms "posix" - compiler "ldc2" - targetName "sdp-debug-ldc" + targetName "sdp-ldc-debug" dflags "-J=views" "-I=src/sdp" - #dflags "-J=views" "-I=src/sdp" "-Dddocs" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "unittests" "optimize" debugVersions "checkdoc" "summary" - #debugVersions "dumpdoc" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-ldc'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-ldc-debug'" } -configuration "sdp-debug-docs-ldc" { +configuration "sdp-ldc-debug-docs" { name "debuging" targetType "executable" platforms "posix" - compiler "ldc2" - targetName "sdp-debug-ldc" + targetName "sdp-ldc-debug" dflags "-J=views" "-I=src/sdp" "-Dddocs" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" - #debugVersions "dumpdoc" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-ldc'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-ldc-debug'" } configuration "sdp-gdc" { name "gdc" targetType "executable" platforms "posix" - compiler "gdc" targetName "sdp-gdc" - dflags "-J=views" "-I=src/sdp" + dflags "-O2" "-J=views" "-I=src/sdp" + lflags "-lz" buildRequirements "allowWarnings" buildOptions "verbose" "releaseMode" "optimize" "inline" postGenerateCommands "/usr/bin/notify-send -t 0 'D gdc compiled test release executable ready' 'sdp-gdc'" } -configuration "sdp-debug-gdc" { +configuration "sdp-gdc-debug" { name "debuging" targetType "executable" platforms "posix" - compiler "gdc" - targetName "sdp-debug-gdc" - dflags "-J=views" "-I=src/sdp" - buildRequirements "allowWarnings" + targetName "sdp-gdc-debug" + dflags "-O2" "-fbuiltin" "-Wall" "-Werror" "-Wformat=2" "-g" "-J=views" "-I=src/sdp" + lflags "-lz" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-gdc'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D gdc compiled (debug with -g) executable ready' 'sdp-gdc-debug'" } -configuration "sdp-debug-unittest-gdc" { +configuration "sdp-gdc-debug-unittest" { name "debuging" targetType "executable" platforms "posix" - compiler "gdc" - targetName "sdp-debug-gdc" + targetName "sdp-gdc-debug" dflags "-J=views" "-I=src/sdp" "-Dddocs" + lflags "-lz" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "unittests" "optimize" debugVersions "checkdoc" "summary" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-gdc'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-gdc-debug'" } -configuration "sdp-debug-docs-gdc" { +configuration "sdp-gdc-debug-docs" { name "debuging" targetType "executable" platforms "posix" - compiler "gdc" - targetName "sdp-debug-gdc" + targetName "sdp-gdc-debug" dflags "-J=views" "-I=src/sdp" "-Dddocs" + lflags "-lz" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-gdc'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-gdc-debug'" } diff --git a/makefile b/makefile index f4225eb..949fa12 100644 --- a/makefile +++ b/makefile @@ -1,3 +1,4 @@ +PROJECT_VERSION :=$(shell echo `git describe --long --tags | sed -e "s/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g"`) DMD=dmd DMD_FLAGS=-de -w -J./views -I./src/sdp -linker=ld.gold DMD_FLAGS_RELEASE=-O -inline -release @@ -64,45 +65,85 @@ dub: $(PRG_SRCDIR)/$(PRG_SRC) debug_dub: $(PRG_SRCDIR)/$(PRG_SRC) $(DUB) $(DUB_FLAGS)$(DC) $(DUB_FLAGS_DEBUG) # dmd -dub_dmd_release: expunge skel tangle - $(DUB) --config=sdp-release -dub_dmd_release_stamp: clean_src skel tangle - $(DUB) --config=sdp-dmd -dub_dmd_test_release: tangle - $(DUB) --config=sdp-dmd -dub_dmd_debug: tangle - $(DUB) --config=sdp-debug-dmd -dub_dmd_debug_unittest: tangle - $(DUB) --config=sdp-debug-unittest-dmd -dub_dmd_debug_docs: clean_docs tangle - $(DUB) --config=sdp-debug-docs-dmd -dub_dmd_debug_clean: tangle - $(DUB) --config=sdp-debug-clean -dub_dmd_tmp: tangle - $(DUB) --config=sdp-tmp -dub_dmd_debug_src: - $(DUB) --config=sdp-debug +dmd_release: expunge skel tangle + $(DUB) --compiler=dmd --config=sdp-release +dmd_release_stamp: + $(DUB) --compiler=dmd --config=sdp-dmd +dmd_release_stamp_version: + $(DUB) --compiler=dmd --config=sdp-dmd + mv bin/sdp-dmd bin/sdp-dmd-$(PROJECT_VERSION) +dmd_release_tangle: tangle + $(DUB) --compiler=dmd --config=sdp-dmd +dmd_release_expunge_tangle: expunge skel tangle + $(DUB) --compiler=dmd --config=sdp-dmd +dmd_debug: + $(DUB) --compiler=dmd --config=sdp-dmd-debug +dmd_debug_tangle: tangle + $(DUB) --compiler=dmd --config=sdp-dmd-debug +dmd_debug_docs: clean_docs tangle + $(DUB) --compiler=dmd --config=sdp-dmd-debug-docs +dmd_debug_unittest: tangle + $(DUB) --compiler=dmd --config=sdp-dmd-debug-unittest +dmd_debug_clean: tangle + $(DUB) --compiler=dmd --config=sdp-debug-clean +dmd_tmp: tangle + $(DUB) --compiler=dmd --config=sdp-tmp +dmd_debug_src: + $(DUB) --compiler=dmd --config=sdp-debug +# gdc +gdc_release: expunge skel tangle + $(DUB) --compiler=gdc --config=sdp-release +gdc_release_stamp: + $(DUB) --compiler=gdc --config=sdp-gdc +gdc_release_stamp_version: + $(DUB) --compiler=gdc --config=sdp-gdc + mv bin/sdp-gdc bin/sdp-gdc-$(PROJECT_VERSION) +gdc_release_tangle: tangle + $(DUB) --compiler=gdc --config=sdp-gdc +gdc_release_expunge_tangle: expunge skel tangle + $(DUB) --compiler=gdc --config=sdp-gdc +gdc_debug: + $(DUB) --compiler=gdc --config=sdp-gdc-debug +gdc_debug_tangle: tangle + $(DUB) --compiler=gdc --config=sdp-gdc-debug +gdc_debug_docs: clean_docs tangle + $(DUB) --compiler=gdc --config=sdp-gdc-debug-docs +gdc_debug_unittest: tangle + $(DUB) --compiler=gdc --config=sdp-gdc-debug-unittest +gdc_debug_clean: tangle + $(DUB) --compiler=gdc --config=sdp-debug-clean +gdc_tmp: tangle + $(DUB) --compiler=gdc --config=sdp-tmp +gdc_debug_src: + $(DUB) --compiler=gdc --config=sdp-debug # ldc2 -dub_ldc_release: expunge skel tangle - $(DUB) --config=sdp-release -dub_ldc_release_stamp: clean_src skel tangle - $(DUB) --config=sdp-ldc -dub_ldc_test_release: tangle - $(DUB) --config=sdp-ldc -dub_ldc_debug: tangle - $(DUB) --config=sdp-debug-ldc -dub_ldc_debug_unittest: tangle - $(DUB) --config=sdp-debug-unittest-ldc -dub_ldc_debug_docs: clean_docs tangle - $(DUB) --config=sdp-debug-docs-ldc -dub_ldc_debug_clean: tangle - $(DUB) --config=sdp-debug-clean -dub_ldc_tmp: tangle - $(DUB) --config=sdp-tmp -dub_ldc_debug_src: - $(DUB) --config=sdp-debug -dub_release_test_dmd: tangle dub_dmd_release_test -dub_release_test_ldc: tangle dub_ldc_release_test +ldc_release: expunge skel tangle + $(DUB) --compiler=ldc2 --config=sdp-release +ldc_release_stamp: + $(DUB) --compiler=ldc2 --config=sdp-ldc +ldc_release_stamp_version: + $(DUB) --compiler=ldc2 --config=sdp-ldc + mv bin/sdp-ldc bin/sdp-ldc-$(PROJECT_VERSION) +ldc_release_tangle: tangle + $(DUB) --compiler=ldc2 --config=sdp-ldc +ldc_release_expunge_tangle: expunge skel tangle + $(DUB) --compiler=ldc2 --config=sdp-ldc +ldc_debug: + $(DUB) --compiler=ldc2 --config=sdp-ldc-debug +ldc_debug_tangle: tangle + $(DUB) --compiler=ldc2 --config=sdp-ldc-debug +ldc_debug_docs: clean_docs tangle + $(DUB) --compiler=ldc2 --config=sdp-ldc-debug-docs +ldc_debug_unittest: tangle + $(DUB) --compiler=ldc2 --config=sdp-ldc-debug-unittest +ldc_debug_clean: tangle + $(DUB) --compiler=ldc2 --config=sdp-debug-clean +ldc_tmp: tangle + $(DUB) --compiler=ldc2 --config=sdp-tmp +ldc_debug_src: + $(DUB) --compiler=ldc2 --config=sdp-debug +dmd_release_test: tangle dmd_test_release +ldc_release_test: tangle ldc_test_release rdmd: $(PRG_SRCDIR)/$(PRG_SRC) $(RDMD) $(RDMD_FLAGS)$(DC) $(DC_FLAGS) \ $(DC_FLAG_BINOF)$(PRG_BINDIR)/$(PRG_BIN) \ diff --git a/maker.org b/maker.org index 62fa07d..191751e 100644 --- a/maker.org +++ b/maker.org @@ -16,6 +16,12 @@ * sdp makefile :makefile: ** TODO settings [+2] :settings: +*** git version stamp + +#+BEGIN_SRC makefile :tangle makefile +PROJECT_VERSION :=$(shell echo `git describe --long --tags | sed -e "s/^[ a-z_-]\+\([0-9.]\+\)/\1/;s/\([^-]*-g\)/r\1/;s/-/./g"`) +#+END_SRC + *** alternative D compilers (dmd/ldc2/gdc) [+1] :compiler: http://dlang.org/download.html @@ -218,9 +224,8 @@ ORGDIR=$(shell echo `pwd`) - gitsnapshot *** build commands [+1] :build:compile: -**** build rebuild :build:rebuild: +**** tangle build rebuild -***** compilers #+BEGIN_SRC makefile :tangle makefile all: tangle build @@ -235,9 +240,9 @@ makefile_new: make -k tangle_maker #+END_SRC -***** TODO _dub_ build rebuild [#A] :dub: +**** _dub_ build rebuild [#A] :dub: +***** generic -****** generic #+BEGIN_SRC makefile :tangle makefile dub: $(PRG_SRCDIR)/$(PRG_SRC) $(DUB) $(DUB_FLAGS)$(DC) @@ -245,59 +250,107 @@ debug_dub: $(PRG_SRCDIR)/$(PRG_SRC) $(DUB) $(DUB_FLAGS)$(DC) $(DUB_FLAGS_DEBUG) #+END_SRC -****** dmd +***** dmd + #+BEGIN_SRC makefile :tangle makefile # dmd -dub_dmd_release: expunge skel tangle - $(DUB) --config=sdp-release -dub_dmd_release_stamp: clean_src skel tangle - $(DUB) --config=sdp-dmd -dub_dmd_test_release: tangle - $(DUB) --config=sdp-dmd -dub_dmd_debug: tangle - $(DUB) --config=sdp-debug-dmd -dub_dmd_debug_unittest: tangle - $(DUB) --config=sdp-debug-unittest-dmd -dub_dmd_debug_docs: clean_docs tangle - $(DUB) --config=sdp-debug-docs-dmd -dub_dmd_debug_clean: tangle - $(DUB) --config=sdp-debug-clean -dub_dmd_tmp: tangle - $(DUB) --config=sdp-tmp -dub_dmd_debug_src: - $(DUB) --config=sdp-debug +dmd_release: expunge skel tangle + $(DUB) --compiler=dmd --config=sdp-release +dmd_release_stamp: + $(DUB) --compiler=dmd --config=sdp-dmd +dmd_release_stamp_version: + $(DUB) --compiler=dmd --config=sdp-dmd + mv bin/sdp-dmd bin/sdp-dmd-$(PROJECT_VERSION) +dmd_release_tangle: tangle + $(DUB) --compiler=dmd --config=sdp-dmd +dmd_release_expunge_tangle: expunge skel tangle + $(DUB) --compiler=dmd --config=sdp-dmd +dmd_debug: + $(DUB) --compiler=dmd --config=sdp-dmd-debug +dmd_debug_tangle: tangle + $(DUB) --compiler=dmd --config=sdp-dmd-debug +dmd_debug_docs: clean_docs tangle + $(DUB) --compiler=dmd --config=sdp-dmd-debug-docs +dmd_debug_unittest: tangle + $(DUB) --compiler=dmd --config=sdp-dmd-debug-unittest +dmd_debug_clean: tangle + $(DUB) --compiler=dmd --config=sdp-debug-clean +dmd_tmp: tangle + $(DUB) --compiler=dmd --config=sdp-tmp +dmd_debug_src: + $(DUB) --compiler=dmd --config=sdp-debug #+END_SRC -****** ldc +***** gdc + +#+BEGIN_SRC makefile :tangle makefile +# gdc +gdc_release: expunge skel tangle + $(DUB) --compiler=gdc --config=sdp-release +gdc_release_stamp: + $(DUB) --compiler=gdc --config=sdp-gdc +gdc_release_stamp_version: + $(DUB) --compiler=gdc --config=sdp-gdc + mv bin/sdp-gdc bin/sdp-gdc-$(PROJECT_VERSION) +gdc_release_tangle: tangle + $(DUB) --compiler=gdc --config=sdp-gdc +gdc_release_expunge_tangle: expunge skel tangle + $(DUB) --compiler=gdc --config=sdp-gdc +gdc_debug: + $(DUB) --compiler=gdc --config=sdp-gdc-debug +gdc_debug_tangle: tangle + $(DUB) --compiler=gdc --config=sdp-gdc-debug +gdc_debug_docs: clean_docs tangle + $(DUB) --compiler=gdc --config=sdp-gdc-debug-docs +gdc_debug_unittest: tangle + $(DUB) --compiler=gdc --config=sdp-gdc-debug-unittest +gdc_debug_clean: tangle + $(DUB) --compiler=gdc --config=sdp-debug-clean +gdc_tmp: tangle + $(DUB) --compiler=gdc --config=sdp-tmp +gdc_debug_src: + $(DUB) --compiler=gdc --config=sdp-debug +#+END_SRC + +***** ldc + #+BEGIN_SRC makefile :tangle makefile # ldc2 -dub_ldc_release: expunge skel tangle - $(DUB) --config=sdp-release -dub_ldc_release_stamp: clean_src skel tangle - $(DUB) --config=sdp-ldc -dub_ldc_test_release: tangle - $(DUB) --config=sdp-ldc -dub_ldc_debug: tangle - $(DUB) --config=sdp-debug-ldc -dub_ldc_debug_unittest: tangle - $(DUB) --config=sdp-debug-unittest-ldc -dub_ldc_debug_docs: clean_docs tangle - $(DUB) --config=sdp-debug-docs-ldc -dub_ldc_debug_clean: tangle - $(DUB) --config=sdp-debug-clean -dub_ldc_tmp: tangle - $(DUB) --config=sdp-tmp -dub_ldc_debug_src: - $(DUB) --config=sdp-debug +ldc_release: expunge skel tangle + $(DUB) --compiler=ldc2 --config=sdp-release +ldc_release_stamp: + $(DUB) --compiler=ldc2 --config=sdp-ldc +ldc_release_stamp_version: + $(DUB) --compiler=ldc2 --config=sdp-ldc + mv bin/sdp-ldc bin/sdp-ldc-$(PROJECT_VERSION) +ldc_release_tangle: tangle + $(DUB) --compiler=ldc2 --config=sdp-ldc +ldc_release_expunge_tangle: expunge skel tangle + $(DUB) --compiler=ldc2 --config=sdp-ldc +ldc_debug: + $(DUB) --compiler=ldc2 --config=sdp-ldc-debug +ldc_debug_tangle: tangle + $(DUB) --compiler=ldc2 --config=sdp-ldc-debug +ldc_debug_docs: clean_docs tangle + $(DUB) --compiler=ldc2 --config=sdp-ldc-debug-docs +ldc_debug_unittest: tangle + $(DUB) --compiler=ldc2 --config=sdp-ldc-debug-unittest +ldc_debug_clean: tangle + $(DUB) --compiler=ldc2 --config=sdp-debug-clean +ldc_tmp: tangle + $(DUB) --compiler=ldc2 --config=sdp-tmp +ldc_debug_src: + $(DUB) --compiler=ldc2 --config=sdp-debug #+END_SRC -****** test releases +***** test releases + #+BEGIN_SRC makefile :tangle makefile -dub_release_test_dmd: tangle dub_dmd_release_test -dub_release_test_ldc: tangle dub_ldc_release_test +dmd_release_test: tangle dmd_test_release +ldc_release_test: tangle ldc_test_release #+END_SRC -***** rdmd build rebuild :rdmd: +**** rdmd build rebuild :rdmd: #+BEGIN_SRC makefile :tangle makefile rdmd: $(PRG_SRCDIR)/$(PRG_SRC) @@ -306,7 +359,7 @@ rdmd: $(PRG_SRCDIR)/$(PRG_SRC) $(PRG_SRCDIR)/$(PRG_NAME)/$(PRG_SRC) #+END_SRC -**** debug :debug: +**** build debug :debug: ***** debug #+BEGIN_SRC makefile :tangle makefile @@ -355,8 +408,7 @@ debug_rdmd_gdc: $(PRG_SRCDIR)/$(PRG_SRC) $(PRG_SRCDIR)/$(PRG_NAME)/$(PRG_SRC) #+END_SRC -**** release :release: - +**** build release :release: ***** release #+BEGIN_SRC makefile :tangle makefile @@ -473,13 +525,13 @@ gitsnapshot: distclean tangle tangle gitsnapshot #+END_SRC -* TODO configuration misc :configuration: -** dub :dub: +* dub (configuration) :dub: + Every DUB package should contain a [[http://code.dlang.org/package-format?lang=json][dub.json]] (or [[http://code.dlang.org/package-format?lang=sdl][dub.sdl]]) -*** TODO dub.sdl [#A] :sdl: +** dub.sdl [#A] :sdl: +*** header :header: -**** header :header: #+BEGIN_SRC sh :tangle dub.sdl name "sdp" description "sisu document parser" @@ -488,45 +540,56 @@ authors "Ralph Amissah" copyright "Copyright © 2016 Ralph Amissah" license "AGPL-3+" targetPath "./bin" -sourcePath "./src" +#sourcePath "./src/sdp" stringImportPaths "./views" buildRequirements "allowWarnings" dependency "sdlang-d" version="~>0.10.0" dependency "archive" version="~>0.6.0" #+END_SRC -**** generic :generic: +*** generic :generic: +**** sdp-release (sdp) + #+BEGIN_SRC sh :tangle dub.sdl configuration "sdp-release" { name "release" targetType "executable" platforms "posix" - #compiler "dmd" targetName "sdp" dflags "-J=views" "-I=src/sdp" buildOptions "verbose" "releaseMode" "optimize" "inline" postGenerateCommands "/usr/bin/notify-send -t 0 'D release executable ready' 'sdp'" } +#+END_SRC + +**** sdp-debug + +#+BEGIN_SRC sh :tangle dub.sdl configuration "sdp-debug" { name "debuging" targetType "executable" platforms "posix" - #compiler "dmd" targetName "sdp-debug" - dflags "-J=views" "-I=src/sdp" + dflags "-g" "-J=views" "-I=src/sdp" + #lflags "ld.gold" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" debugVersions "dumpdoc" postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug'" } +#+END_SRC + +**** sdp-tmp + +#+BEGIN_SRC sh :tangle dub.sdl configuration "sdp-tmp" { name "tmp" targetType "executable" platforms "posix" - #compiler "dmd" targetName "sdp-tmp" dflags "-J=views" "-I=src/sdp" + #lflags "ld.gold" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" @@ -536,11 +599,15 @@ configuration "sdp-tmp" { debugVersions "header1" postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-tmp'" } +#+END_SRC + +**** sdp-debug-clean + +#+BEGIN_SRC sh :tangle dub.sdl configuration "sdp-debug-clean" { name "debug-clean" targetType "executable" platforms "posix" - #compiler "dmd" targetName "sdp-debug-clean" dflags "-J=views" "-I=src/sdp" buildOptions "verbose" "debugMode" "debugInfo" "optimize" @@ -548,14 +615,14 @@ configuration "sdp-debug-clean" { } #+END_SRC -**** dmd [#A] :dmd: -***** sdp-dmd +*** dmd [#A] :dmd: +**** sdp-dmd + #+BEGIN_SRC sh :tangle dub.sdl configuration "sdp-dmd" { name "dmd" targetType "executable" platforms "posix" - compiler "dmd" targetName "sdp-dmd" dflags "-J=views" "-I=src/sdp" buildRequirements "allowWarnings" @@ -564,66 +631,66 @@ configuration "sdp-dmd" { } #+END_SRC -***** sdp-debug-dmd :debug: +**** sdp-dmd-debug :debug: + #+BEGIN_SRC sh :tangle dub.sdl -configuration "sdp-debug-dmd" { +configuration "sdp-dmd-debug" { name "debuging" targetType "executable" platforms "posix" - compiler "dmd" - targetName "sdp-debug-dmd" - dflags "-J=views" "-I=src/sdp" + targetName "sdp-dmd-debug" + dflags "-g" "-J=views" "-I=src/sdp" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" debugVersions "dumpdoc" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-dmd'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-dmd-debug'" } #+END_SRC -***** sdp-debug-unittest-dmd :unittest:debug: +**** sdp-dmd-debug-unittest :unittest:debug: + #+BEGIN_SRC sh :tangle dub.sdl -configuration "sdp-debug-unittest-dmd" { +configuration "sdp-dmd-debug-unittest" { name "debuging" targetType "executable" platforms "posix" - compiler "dmd" - targetName "sdp-debug-dmd" + targetName "sdp-dmd-debug" dflags "-J=views" "-I=src/sdp" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "unittests" "optimize" debugVersions "checkdoc" "summary" debugVersions "dumpdoc" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-dmd'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-dmd-debug'" } #+END_SRC -***** sdp-debug-docs-dmd :docs:debug: +**** sdp-dmd-debug-docs :docs:debug: + #+BEGIN_SRC sh :tangle dub.sdl -configuration "sdp-debug-docs-dmd" { +configuration "sdp-dmd-debug-docs" { name "debuging" targetType "executable" platforms "posix" - compiler "dmd" - targetName "sdp-debug-dmd" + targetName "sdp-dmd-debug" dflags "-J=views" "-I=src/sdp" #lflags "ld.gold" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" debugVersions "dumpdoc" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-dmd'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-dmd-debug'" } #+END_SRC -**** ldc [#A] :ldc: -***** sdp-ldc +*** ldc [#A] :ldc: +**** sdp-ldc + #+BEGIN_SRC sh :tangle dub.sdl configuration "sdp-ldc" { name "ldc" targetType "executable" platforms "posix" - compiler "ldc2" targetName "sdp-ldc" dflags "-J=views" "-I=src/sdp" buildRequirements "allowWarnings" @@ -632,118 +699,118 @@ configuration "sdp-ldc" { } #+END_SRC -***** sdp-debug-ldc :debug: +**** sdp-ldc-debug :debug: + #+BEGIN_SRC sh :tangle dub.sdl -configuration "sdp-debug-ldc" { +configuration "sdp-ldc-debug" { name "debuging" targetType "executable" platforms "posix" - compiler "ldc2" - targetName "sdp-debug-ldc" - dflags "-J=views" "-I=src/sdp" + targetName "sdp-ldc-debug" + dflags "-g" "-J=views" "-I=src/sdp" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-ldc'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-ldc-debug'" } #+END_SRC -***** sdp-debug-unittest-ldc :unittest:debug: +**** sdp-ldc-debug-unittest :unittest:debug: + #+BEGIN_SRC sh :tangle dub.sdl -configuration "sdp-debug-unittest-ldc" { +configuration "sdp-ldc-debug-unittest" { name "debuging" targetType "executable" platforms "posix" - compiler "ldc2" - targetName "sdp-debug-ldc" + targetName "sdp-ldc-debug" dflags "-J=views" "-I=src/sdp" - #dflags "-J=views" "-I=src/sdp" "-Dddocs" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "unittests" "optimize" debugVersions "checkdoc" "summary" - #debugVersions "dumpdoc" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-ldc'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-ldc-debug'" } #+END_SRC -***** sdp-debug-docs-ldc :docs:debug: +**** sdp-ldc-debug-docs :docs:debug: + #+BEGIN_SRC sh :tangle dub.sdl -configuration "sdp-debug-docs-ldc" { +configuration "sdp-ldc-debug-docs" { name "debuging" targetType "executable" platforms "posix" - compiler "ldc2" - targetName "sdp-debug-ldc" + targetName "sdp-ldc-debug" dflags "-J=views" "-I=src/sdp" "-Dddocs" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" - #debugVersions "dumpdoc" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-ldc'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-ldc-debug'" } #+END_SRC -**** gdc [#F] :gdc: -***** sdp-gdc +*** gdc :gdc: +**** sdp-gdc + #+BEGIN_SRC sh :tangle dub.sdl configuration "sdp-gdc" { name "gdc" targetType "executable" platforms "posix" - compiler "gdc" targetName "sdp-gdc" - dflags "-J=views" "-I=src/sdp" + dflags "-O2" "-J=views" "-I=src/sdp" + lflags "-lz" buildRequirements "allowWarnings" buildOptions "verbose" "releaseMode" "optimize" "inline" postGenerateCommands "/usr/bin/notify-send -t 0 'D gdc compiled test release executable ready' 'sdp-gdc'" } #+END_SRC -***** sdp-debug-gdc :debug: +**** sdp-gdc-debug :debug: + #+BEGIN_SRC sh :tangle dub.sdl -configuration "sdp-debug-gdc" { +configuration "sdp-gdc-debug" { name "debuging" targetType "executable" platforms "posix" - compiler "gdc" - targetName "sdp-debug-gdc" - dflags "-J=views" "-I=src/sdp" - buildRequirements "allowWarnings" + targetName "sdp-gdc-debug" + dflags "-O2" "-fbuiltin" "-Wall" "-Werror" "-Wformat=2" "-g" "-J=views" "-I=src/sdp" + lflags "-lz" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-gdc'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D gdc compiled (debug with -g) executable ready' 'sdp-gdc-debug'" } #+END_SRC -***** sdp-debug-unittest-gdc :unittest:debug: +**** sdp-gdc-debug-unittest :unittest:debug: + #+BEGIN_SRC sh :tangle dub.sdl -configuration "sdp-debug-unittest-gdc" { +configuration "sdp-gdc-debug-unittest" { name "debuging" targetType "executable" platforms "posix" - compiler "gdc" - targetName "sdp-debug-gdc" + targetName "sdp-gdc-debug" dflags "-J=views" "-I=src/sdp" "-Dddocs" + lflags "-lz" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "unittests" "optimize" debugVersions "checkdoc" "summary" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-gdc'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-gdc-debug'" } #+END_SRC -***** sdp-debug-docs-gdc :docs:debug: +**** sdp-gdc-debug-docs :docs:debug: + #+BEGIN_SRC sh :tangle dub.sdl -configuration "sdp-debug-docs-gdc" { +configuration "sdp-gdc-debug-docs" { name "debuging" targetType "executable" platforms "posix" - compiler "gdc" - targetName "sdp-debug-gdc" + targetName "sdp-gdc-debug" dflags "-J=views" "-I=src/sdp" "-Dddocs" + lflags "-lz" buildRequirements "allowWarnings" buildOptions "verbose" "debugMode" "debugInfo" "optimize" debugVersions "checkdoc" "summary" - postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug-gdc'" + postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-gdc-debug'" } #+END_SRC @@ -765,9 +832,20 @@ configuration "sdp-debug-docs-gdc" { "dependencies": { } } +** dub zfunc :zfunc: +*** ,dubdmd :dmd: + +#+BEGIN_SRC sh :tangle no +time dub --compiler=dmd -v --force +#+END_SRC + +*** ,dubldc :ldc: + +#+BEGIN_SRC sh :tangle no +time dub --compiler=ldc2 -v --force #+END_SRC -** .gitignore :gitignore: +* .gitignore :gitignore: #+BEGIN_SRC sh :tangle .gitignore # git ls-files --others --exclude-from=.git/info/exclude @@ -800,7 +878,7 @@ configuration "sdp-debug-docs-gdc" { #*.\#* #+END_SRC -** sh script to batch process emacs org babel tangle :shell_script:tangle: +* sh script to batch process emacs org babel tangle :shell_script:tangle: [[http://orgmode.org/manual/Batch-execution.html]] creates a shell batch script called "tangle", that will tangle (emacs org babel tangle) org files in ./org/ to create .d source files in ./src/sdp/ @@ -833,65 +911,9 @@ emacs --batch -Q -q \ (kill-buffer)) '($ORGFILES)))" 2>&1 #|grep tangled #+END_SRC -* dub zfunc :zfunc: -** ,dubdmd :dmd: -#+BEGIN_SRC sh :tangle no -time dub --compiler=dmd -v --force -#+END_SRC - -** ,dubldc :ldc: -#+BEGIN_SRC sh :tangle no -time dub --compiler=ldc2 -v --force -#+END_SRC -* D build notes :notes: -** compilers :compiler: -*** dmd [#A] :dmd: - -#+BEGIN_SRC sh -dmd -de -w -J./views -I./src/sdp -unittest -debug=checkdoc -debug=summary -debug=dumpdoc -of./bin/sdp ./src/sdp/sisu_d_parser.d -dmd -de -w -J./views -I./src/sdp -of./bin/sdp ./src/sdp/sisu_d_parser.d -dmd -de -w -J./views -I./src/sdp -O -release -of./bin/sdp ./src/sdp/sisu_d_parser.d -#+END_SRC - -*** ldc2 [#A] :ldc2: - -#+BEGIN_SRC sh -ldc2 -de -w -J./views -I./src/sdp -unittest -d-debug=checkdoc -d-debug=summary -d-debug=dumpdoc -of=./bin/sdp ./src/sdp/sisu_d_parser.d -ldc2 -de -w -J./views -I./src/sdp -of=./bin/sdp ./src/sdp/sisu_d_parser.d -ldc2 -de -w -J./views -I./src/sdp -O4 -release -of=./bin/sdp ./src/sdp/sisu_d_parser.d -#+END_SRC - -*** gdc (not done) [#F] :gdc: - -not done - -#+BEGIN_SRC sh -#+END_SRC - -**** +note+ - -"nice how you can get 2x speedup without a single line of asm just by using ldc", p0nce -"gdc might be worth a shot if your code is compatible", profan -re: dmd "one can easily get 2x (and even more) speedup by simply switching to gdc -O2", ketmar - -** build tools :build:tool: -*** rdmd [#C] :rdmd: - -flags similar to dmd - -#+BEGIN_SRC sh -rdmd -de -w -J./views -I./src/sdp -unittest -debug=checkdoc -debug=summary -debug=dumpdoc -of./bin/sdp ./src/sdp/sisu_d_parser.d -rdmd -de -w -J./views -I./src/sdp -of./bin/sdp ./src/sdp/sisu_d_parser.d -rdmd -de -w -J./views -I./src/sdp -O -release -of./bin/sdp ./src/sdp/sisu_d_parser.d - -#dmd -rdmd -de -w -J./views -I./src/sdp -unittest -debug=checkdoc -debug=summary -debug=dumpdoc --compiler=ldc2 -of./bin/sdp ./src/sdp/sisu_d_parser.d - -#ldc -rdmd -de -w -J./views -I./src/sdp -unittest -d-debug=checkdoc -d-debug=summary -d-debug=dumpdoc --compiler=ldc2 -of./bin/sdp ./src/sdp/sisu_d_parser.d -#+END_SRC - -*** dub [#A] :dub: +* __END__ +** D build notes :notes: +*** dub :dub: https://github.com/dlang/dub/ http://code.dlang.org/getting_started http://code.dlang.org/docs/commandline @@ -901,6 +923,8 @@ https://code.dlang.org/package-format?lang=sdl https://code.dlang.org/packages/sdlang-d https://github.com/Abscissa/SDLang-D/blob/master/HOWTO.md +https://code.dlang.org/docs/commandline + **** dub dependencies dub list dub upgrade @@ -910,39 +934,35 @@ dub fetch libinputvisitor dub fetch unit-threaded ? sdp ~master: /home/ralph/grotto/repo/git.repo/utils/sdp-x/ -sdlang-d 0.10.0: /home/ralph/.dub/packages/sdlang-d-0.10.0/sdlang-d/ -taggedalgebraic 0.10.2: /home/ralph/.dub/packages/taggedalgebraic-0.10.2/taggedalgebraic/ -libinputvisitor 1.2.2: /home/ralph/.dub/packages/libinputvisitor-1.2.2/libinputvisitor/ -unit-threaded 0.6.28: /home/ralph/.dub/packages/unit-threaded-0.6.28/unit-threaded/ +/home/ralph/.dub/packages/* -**** TODO call dub directly [#A] +**** call dub directly [#A] #+BEGIN_SRC sh :tangle no -dub --config=sdp-debug-ldc -dub --config=sdp-debug-unittest-ldc -dub --config=sdp-debug-unittest-ldc --debug=node +dub build -h + +time (make clean_src && make skel && make tangle && dub --compiler=ldc2 --config=sdp-ldc --debug=asserts) +time (make clean_src && make skel && make tangle && CC=/usr/bin/clang-4.0 dub --compiler=ldc2 --config=sdp-ldc-debug --debug=asserts) -make clean && make skel && make tangle && dub --config=sdp-debug-ldc -make clean && make skel && make tangle && CC=/usr/bin/clang-4.0 dub --config=sdp-debug-ldc -make clean && make skel && make tangle && dub --config=sdp-ldc -make clean && make skel && make tangle && dub CC=/usr/bin/clang-4.0 --config=sdp-ldc +time (dub --compiler=ldc2 --config=sdp-ldc --debug=asserts) +time (dub --compiler=ldc2 --config=sdp-ldc-debug --debug=asserts) -make tangle && dub --config=sdp-debug-unittest-ldc #--debug=node --debug=anchor --debug=endnotes +time (dub --compiler=ldc2 --config=sdp-ldc --debug=asserts) +time (dub --compiler=dmd --config=sdp-dmd --debug=asserts) -make expunge && make skel && make tangle && dub --config=sdp-ldc -make expunge && make skel && make tangle && dub --config=sdp-debug-unittest-ldc #--debug=node --debug=anchor --debug=endnotes +time dub build --compiler=dmd +time dub build --compiler=ldc2 +time dub build --compiler=gdc +time dub build --compiler=gcc -make expunge && -make skel && make tangle && -dub --config=sdp-debug-unittest-ldc \ ---debug=node --debug=anchor --debug=endnotes +time make ldc_release +time make ldc_debug -make tangle && -dub --config=sdp-debug-ldc --debug=node --debug=anchor -dub --config=sdp-debug-unittest-ldc --debug=node --debug=anchor +time make dmd_release +time make dmd_debug #+END_SRC -*** sisu markup +**** sisu markup #+BEGIN_SRC sh # dmd @@ -962,7 +982,7 @@ dub --compiler=ldc2 -v --force --config=sdp-debug-clean # sdp-debug-clean # time ~sdp3/bin/sdp-debug-clean -v --html --no-assert en/autonomy_markup0.sst #+END_SRC -** TODO debug options list [#A] :debug: +*** TODO debug options list [#A] :debug: #+BEGIN_SRC sh :tangle no debugVersions "asserts" @@ -986,8 +1006,6 @@ debugVersions "dom" debugVersions "dumpdoc" debugVersions "endnotes" debugVersions "endnotes_build" -debugVersions "epubmanifest" -debugVersions "epub_archive" debugVersions "epub_output" debugVersions "footnotes" debugVersions "footnotesdone" @@ -1037,17 +1055,16 @@ debugVersions "section_bookindex_scroll" debugVersions "section_blurb" debugVersions "segnames" debugVersions "sisupod" -debugVersions "sisupod_zip" +debugVersions "sisupodimages" debugVersions "source" debugVersions "srclines" debugVersions "structattrib" debugVersions "summary" debugVersions "table" debugVersions "toc" -debugVersions "toc_nav_dom" #+END_SRC -** make (emacs) +*** make (emacs) #+BEGIN_SRC sh make -k tangle -- cgit v1.2.3