From f0201ac1de4ca496807afa41df6d2810aa5b15d0 Mon Sep 17 00:00:00 2001 From: Kevin Sapper Date: Fri, 3 Feb 2017 13:03:59 +0100 Subject: [PATCH 1/4] Problem: Inserting snippets requires writing them to files Solution: Add a function to register a snippet callback which is called instead of reading a file. --- zproject.gsl | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/zproject.gsl b/zproject.gsl index cb9206f0..9c2a9986 100644 --- a/zproject.gsl +++ b/zproject.gsl @@ -90,6 +90,19 @@ function chmod_x (filename) my.shell.run () endfunction +function register_snippet (target, name) + new snippet to project + snippet.target = my.target + snippet.name = my.name + endnew +endfunction + +function insert_snippet (target) + for project.snippet where snippet.target = my.target + snippet_$(snippet.target:c)_$(snippet.name:c) () + endfor +endfunction + function register_target (target, detail) new handler to project handler.target = my.target From 73c73388726157890c5d4f2cd03dad364161911d Mon Sep 17 00:00:00 2001 From: Kevin Sapper Date: Fri, 3 Feb 2017 13:07:58 +0100 Subject: [PATCH 2/4] Problem: systemd snippets use old zinstall functionality Solution: Port them to the new register callback functionality. This move the systemd stuff into its own file where they are logically group instead of having one file for all snippets. Further this removes the zinstall functionality as it used by anything else. --- builds/zinstall/Makemodule.am | 0 builds/zinstall/configure.ac | 0 builds/zinstall/zproject.install | 0 builds/zinstall/zproject.spec | 0 project.xml | 4 +- zproject.gsl | 4 +- zproject_autotools.gsl | 4 +- zproject_debian.gsl | 2 +- zproject_install.gsl | 84 ------------------------------- zproject_redhat.gsl | 2 +- zproject_systemd.gsl | 86 ++++++++++++++++++++++++++++++++ 11 files changed, 92 insertions(+), 94 deletions(-) delete mode 100644 builds/zinstall/Makemodule.am delete mode 100644 builds/zinstall/configure.ac delete mode 100644 builds/zinstall/zproject.install delete mode 100644 builds/zinstall/zproject.spec delete mode 100644 zproject_install.gsl create mode 100644 zproject_systemd.gsl diff --git a/builds/zinstall/Makemodule.am b/builds/zinstall/Makemodule.am deleted file mode 100644 index e69de29b..00000000 diff --git a/builds/zinstall/configure.ac b/builds/zinstall/configure.ac deleted file mode 100644 index e69de29b..00000000 diff --git a/builds/zinstall/zproject.install b/builds/zinstall/zproject.install deleted file mode 100644 index e69de29b..00000000 diff --git a/builds/zinstall/zproject.spec b/builds/zinstall/zproject.spec deleted file mode 100644 index e69de29b..00000000 diff --git a/project.xml b/project.xml index 9015903c..405b4fa1 100644 --- a/project.xml +++ b/project.xml @@ -176,9 +176,6 @@ - - - @@ -202,6 +199,7 @@ + diff --git a/zproject.gsl b/zproject.gsl index 9c2a9986..74f327e1 100644 --- a/zproject.gsl +++ b/zproject.gsl @@ -185,9 +185,6 @@ gsl from "zproject_bench.gsl" gsl from "zproject_git.gsl" gsl from "zproject_valgrind.gsl" -# zinstall must run before all the targets -gsl from "zproject_install.gsl" - # Load all targets gsl from "zproject_android.gsl" gsl from "zproject_autotools.gsl" @@ -210,6 +207,7 @@ gsl from "zproject_qt.gsl" gsl from "zproject_redhat.gsl" gsl from "zproject_rpi.gsl" gsl from "zproject_ruby.gsl" +gsl from "zproject_systemd.gsl" gsl from "zproject_travis.gsl" gsl from "zproject_vagrant.gsl" gsl from "zproject_vs2008.gsl" diff --git a/zproject_autotools.gsl b/zproject_autotools.gsl index 98230844..b467a472 100644 --- a/zproject_autotools.gsl +++ b/zproject_autotools.gsl @@ -804,7 +804,7 @@ AM_COND_IF([WITH_SYSTEMD_UNITS], []) .endif -.zinstall_include ("builds/zinstall/configure.ac") +.insert_snippet ("configure.ac") AC_OUTPUT # Print configure summary and list make options @@ -1260,7 +1260,7 @@ coverage: src/$(project.prefix)_selftest \t@echo "call make clean && configure --with-gcov to enable code coverage" \t@exit 1 endif -.zinstall_include ("builds/zinstall/Makemodule.am") +.insert_snippet ("Makemodule") $(project.GENERATED_WARNING_HEADER:) .close diff --git a/zproject_debian.gsl b/zproject_debian.gsl index e3a6342c..a01ae213 100644 --- a/zproject_debian.gsl +++ b/zproject_debian.gsl @@ -224,7 +224,7 @@ lib/systemd/system/$(main.name).service lib/systemd/system/$(main.name)@.service . endif . endfor -.zinstall_include ("builds/zinstall/$(project.name).install") +.insert_snippet ("debian.install") .endif .if project.exports_classes diff --git a/zproject_install.gsl b/zproject_install.gsl deleted file mode 100644 index 8510c032..00000000 --- a/zproject_install.gsl +++ /dev/null @@ -1,84 +0,0 @@ -# Generate install files snippets for zproject -# -# This is a code generator built using the iMatix GSL code generation -# language. See https://github.com/imatix/gsl for details. -# -# Copyright (c) the Contributors as noted in the AUTHORS file. -# This file is part of zproject. -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# - -function zinstall_include (filename) - if file.exists ("$(my.filename:)") - input = file.open ("$(my.filename:)") - xline = file.read (input)? - while defined (xline) - >$(string.replace (xline, "\n|")) - xline = file.read (input)? - endwhile - endif -endfunction - -directory.create ("builds/zinstall") -output "builds/zinstall/configure.ac" -close - -output "builds/zinstall/Makemodule.am" -close - -output "builds/zinstall/$(project.name).spec" -close - -output "builds/zinstall/$(project.name).install" -close - -for project.main where defined (main->install) - for install - - if install.type = "systemd-tmpfiles" - - append "builds/zinstall/configure.ac" ->AM_COND_IF([WITH_SYSTEMD_UNITS], -> [AC_CONFIG_FILES([ -> src/$(main.name).conf -> ])], -> []) - append "builds/zinstall/Makemodule.am" ->if ENABLE_$(MAIN.NAME:c) ->if WITH_SYSTEMD_UNITS ->$(main.name:c)_tmpfiles_ddir = /usr/lib/tmpfiles.d/ ->$(main.name:c)_tmpfiles_d_DATA = src/$(main.name).conf ->endif #WITH_SYSTEMD_UNITS ->endif #$(MAIN.NAME:c) - - append "builds/zinstall/$(project.name).spec" ->%dir /usr/lib/tmpfiles.d/ ->%config /usr/lib/tmpfiles.d/$(main.name).conf - - append "builds/zinstall/$(project.name).install" ->usr/lib/tmpfiles.d/$(main.name).conf - -# TODO: consider equivalent of -# `if !defined(main.no_config) | main.no_config ?= 0` - elsif install.type = "config" - install.name ?= main.name + ".cfg" - append "builds/zinstall/configure.ac" ->AC_CONFIG_FILES([ -> src/$(install.name) ->]) - append "builds/zinstall/Makemodule.am" ->if ENABLE_$(MAIN.NAME:c) ->src_$(project.name:c)_config_DATA += src/$(install.name) ->endif - - append "builds/zinstall/$(project.name).spec" ->%config (noreplace) %{sysconfdir}/$(project.name)/$(install.name) - - append "builds/zinstall/$(project.name).install" ->etc/$(project.name)/$(install.name) - endif #config - endfor -endfor diff --git a/zproject_redhat.gsl b/zproject_redhat.gsl index 48c4fec1..ae482ed9 100644 --- a/zproject_redhat.gsl +++ b/zproject_redhat.gsl @@ -217,7 +217,7 @@ find %{buildroot} -name '*.la' | xargs rm -f .if etc_exists ?= 1 %dir %{_sysconfdir}/$(project.name) .endif -.zinstall_include ("builds/zinstall/$(project.name).spec") +.insert_snippet ("redhat.spec") .if systemd ?= 1 %if 0%{?suse_version} > 1315 %post diff --git a/zproject_systemd.gsl b/zproject_systemd.gsl new file mode 100644 index 00000000..bea51de1 --- /dev/null +++ b/zproject_systemd.gsl @@ -0,0 +1,86 @@ +# Generate systemd snippets and files for zproject +# +# This is a code generator built using the iMatix GSL code generation +# language. See https://github.com/imatix/gsl for details. +# +# Copyright (c) the Contributors as noted in the AUTHORS file. +# This file is part of zproject. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +register_snippet("configure.ac", "systemd") +function snippet_configure_ac_systemd () + for project.main where defined (main->install) + for install + if install.type = "systemd-tmpfiles" + >AM_COND_IF([WITH_SYSTEMD_UNITS], + > [AC_CONFIG_FILES([ + > src/$(main.name).conf + > ])], + > []) + > + elsif install.type = "config" + >AC_CONFIG_FILES([ + > src/$(main.name).cfg + >]) + > + endif + endfor + endfor +endfunction + +register_snippet("Makemodule", "systemd") +function snippet_makemodule_systemd () + for project.main where defined (main->install) + for install + if install.type = "systemd-tmpfiles" + >if ENABLE_$(MAIN.NAME:c) + >if WITH_SYSTEMD_UNITS + >$(main.name:c)_tmpfiles_ddir = /usr/lib/tmpfiles.d/ + >$(main.name:c)_tmpfiles_d_DATA = src/$(main.name).conf + >endif #WITH_SYSTEMD_UNITS + >endif #$(MAIN.NAME:c) + > + elsif install.type = "config" + >if ENABLE_$(MAIN.NAME:c) + >src_$(project.name:c)_config_DATA += src/$(main.name).cfg + >endif + > + endif + endfor + endfor +endfunction + +register_snippet("redhat.spec", "systemd") +function snippet_redhat_spec_systemd () + for project.main where defined (main->install) + for install + if install.type = "systemd-tmpfiles" + >AM_COND_IF([WITH_SYSTEMD_UNITS], + >%dir /usr/lib/tmpfiles.d/ + >%config /usr/lib/tmpfiles.d/$(main.name).conf + > + elsif install.type = "config" + >%config (noreplace) %{sysconfdir}/$(project.name)/$(main.name).cfg + > + endif + endfor + endfor +endfunction + +register_snippet("debian.install", "systemd") +function snippet_debian_install_systemd () + for project.main where defined (main->install) + for install + if install.type = "systemd-tmpfiles" + >usr/lib/tmpfiles.d/$(main.name).conf + > + elsif install.type = "config" + >etc/$(project.name)/$(main.name).cfg + endif + endfor + endfor +endfunction From 4dd7713331d4ef550c78f1d300ff9d2d8516c1a8 Mon Sep 17 00:00:00 2001 From: Kevin Sapper Date: Fri, 3 Feb 2017 15:37:18 +0100 Subject: [PATCH 3/4] Updated README on snippets changes --- README.md | 218 ++++++++++++++++++++++++++++++++++++++--------------- README.txt | 39 +++++++++- 2 files changed, 196 insertions(+), 61 deletions(-) diff --git a/README.md b/README.md index e861862c..22a86c05 100644 --- a/README.md +++ b/README.md @@ -16,37 +16,44 @@ **Getting started** * Setup your project environment * Configuration -* Project dependencies -* Targets - Target Options - Target Scopes -* Modifying generated files in an already existent project - -**API models** -* Sample API model -* Supported API Model Attributes -* API Types -* Tips -* Generate API model from C header files - Known caveats - -**Language Binding Notes** -* Java Language Binding - -**Draft API Support** - -**Removal** -* autotools - -**Notes for Writing Language Targets** -* Schema/Architecture Overview -* Informal Summary -* Semantic Attributes - -**Ownership and License** -* Ownership and License of generated sources -* Hints to Contributors -* This Document +* Project dependencies +* Targets + Target Options + Target Scopes +* Modifying generated files in an already existent project + +**API models** +* Sample API model +* Supported API Model Attributes +* API Types +* Tips +* Generate API model from C header files + Known caveats + +**Language Binding Notes** +* Java Language Binding + +**Draft API Support** + +**Removal** +* autotools + +**Additional files** +* Design goals +* Example + +**Notes for Writing Targets** +* Snippets + +**Notes for Writing Language Targets** +* Schema/Architecture Overview +* Informal Summary +* Semantic Attributes + +**Ownership and License** +* Ownership and License of generated sources +* Hints to Contributors +* This Document ## Overview @@ -293,7 +300,7 @@ zproject's `project.xml` contains an extensive description of the available conf use private = "1" for internal tools
Exported public tool
Internal tool
-
Installed as system service
+
Installed as system service, single-instance
Installed as system service, multi-instance (@)
Installed as system service, both single and multi-instance (@)
--> @@ -353,9 +360,6 @@ zproject's `project.xml` contains an extensive description of the available conf - - - @@ -374,11 +378,13 @@ zproject's `project.xml` contains an extensive description of the available conf + + @@ -391,7 +397,7 @@ zproject's `project.xml` contains an extensive description of the available conf ``` -
+ ### Project dependencies zproject's `use` element defines project dependencies. @@ -520,6 +526,7 @@ Model is described in `zproject_known_projects.xml` file: + + + lua5.2 + lua52 + lua5.1 + lua51 + lua + lua5.2 + lua52 + lua5.1 + lua51 + lua + + ``` - + ### Targets Each target produces scripts and code for a specific build system, platform, or language binding. @@ -593,7 +621,7 @@ To request all targets in your project.xml file: - + #### Target Options A target can accept options via project.xml like this: @@ -621,12 +649,12 @@ project.nuget_dependency.name = "libzmq_vc120" project.nuget_dependency.value = "4.2.0.0" ``` - + #### Target Scopes Each target works in its own copy of 'project'. It can therefore modify and extend 'project' as wanted, without affecting other targets. - + ### Modifying generated files in an already existent project You may encounter a warning in a file you want to modify like this: @@ -653,14 +681,14 @@ If that happens, you need to follow these steps to make the modifications and th 4. Be aware that many files in the regenerated projects will change. 5. This also means you will need to commit changes on zproject (your mods) and in czmq, malamute, zyre (the regenerated files with your mods). From git documentation, it seems like the command "git add -uv" could help to find out what files were actually modified from all the files that were regenerated. Supposedly this will only add the ones that were actually modified, but you should double check them. Make sure to double check even line termination (or use a comparisson tool that flags those differences). Windows specific files should have (CR+LF) termination, while Linux specific should have (LF) only termination. Best is to look for ".terminator=" examples in existing .GSL files. - + ## API models Using an API model zproject can generate the `@interface` section your class headers. Further it allows zproject to generate various language bindings on top of your CLASS project. - + ### Sample API model All API models are placed into the `api` directory which resides in the root @@ -882,7 +910,7 @@ MYPROJECT_EXPORT void // @end ``` - + ### Supported API Model Attributes The following attributes are supported for methods: @@ -914,7 +942,7 @@ The following attributes are supported for arguments: - `polymorphic` - indicates that the passed class instance is a `sockish` type. For an example see CZMQ's zsock class. - + ### API Types This is an incomplete list of API types: @@ -957,7 +985,7 @@ This is an incomplete list of API types: * Names of classes, e.g. zmsg. - + ### Tips At any time, you can examine a resolved model as an XML string with all of its children and attributes using the appropriate GSL functions: @@ -974,7 +1002,7 @@ You can save a snapshot of the entire resolved project model using this syntax: gsl -save:1 project.xml ``` - + ### Generate API model from C header files Writing API model for bigger project with a lot of classes can be tedious job. There mkapi.py, which automates most of the task. @@ -996,15 +1024,15 @@ Note you *must* use top-level include as pycparser fails if it does not know any The tool might expect `-DWITH_DRAFTS` parameter if the class is not marked as a stable. - + #### Known caveats The tool can't distinguish methods which allocates new object. It does print a comment about adding fresh = "1" attribute to each method, which return non const pointer. However the final assigment must be done manually. - + ## Language Binding Notes - + ### Java Language Binding * Skips methods that it cannot handle properly. @@ -1012,7 +1040,7 @@ The tool can't distinguish methods which allocates new object. It does print a c * To build, you need gradle (or equivalent). Run 'gradle build jar' in the bindings/jni directory. * To install, run 'gradle install'. This puts the files into $HOME/.m2/repository. - + ## Draft API Support zproject lets you mark classes and methods as 'draft' so that they are not installed by default in stable builds. This lets you deliver draft APIs to your users, and change them later. @@ -1044,17 +1072,87 @@ The allowed states are: Using autotools or CMake, you can specify --with-drafts to enable draft APIs, and --without-drafts to disable them. By default, drafts are built and installed when you work in a git repository (if the directory ".git" is present), and otherwise they are not. That means, if you build from a tarball, drafts are disabled by default. - + ## Removal - + ### autotools ```sh make uninstall ``` - + +## Additional files +Installation of third party files is a *hard* problem. It is not platform +independent, became hard to maintain and impossible to use correctly. One of +zproject's goals is a simplicity. There is a simple installation model + + +### Design goals +* KISS, less configuration options the better +* no conditionals in the model, those SHALL be handled in background +* each option solves a REAL problem, avoid extending it because you can + + +### Example +``` +
+ + +
+``` + +**systemd-tmpfiles** +This will add install information about systemd tmpfiles.d configuration files +to autotools, packaging, and so. The resulting file +/usr/lib/tmpfiles.d/MAIN.conf will be installed only if configure was called +with --with-systemd-units. + +**config** +This will install additional configuration files to +$\(sysconfdir)/$\(project.name)/$\(name). + +
+## Notes for Writing Targets + + +### Snippets + +If you write a new target or extend one you might be in the situtation where you +need to put code fragments into files which are not specific to your target. For +example the `systemd` target has to extend files from the `autotools`, `debian` +and `redhat` targets. In order to keep those files as maintainable as possible +you'll include a snippet which is pull from your targets file. To include +a snippet call: + +``` + insert_snippet (target) +``` + +Where target is the identifier for the insertion point i.e. the filename. To +register a snippet to be inserted simply call. + +``` + register_snippet (target, name) +``` + +Target is must match the one in `insert_snippet` and the name identifies your +snippet. Then you can create a function or macro with the following form +(without the brackets): + +``` + function snippet__ + + .macro snippet__ +``` + +This function will be called by the `insert_snippet` function. You can have an +arbitrary amount of registered snippets per insertion point which will be +inserted in arbitrary order so don't make any assumption on the order of the +snippets per insertion point. + + ## Notes for Writing Language Targets This is the general form of a target: @@ -1074,7 +1172,7 @@ function target_somename endfunction ``` - + ### Schema/Architecture Overview * All `class`es SHALL be in the project model (`project.xml`). @@ -1093,12 +1191,12 @@ endfunction * Each language binding generator MAY assign values to language-specific implementation attributes of entities. * Each language binding generator SHOULD use a unique prefix for names of language-specific implementation attributes of entities. - + ### Informal Summary A `class` is always the top-level entity in an API model, and it will be merged with the corresponding `class` entity defined in the project model. A class contains `method`s, `constructor`s, and `destructor`s (collectively, "method"s), and methods contain `argument`s and `return`s (collectively, "container"s). Each entity will contain both *semantic attributes* and *language-specific implementation attributes*. - + ### Semantic Attributes Semantic attributes describe something intrinsic about the container. @@ -1133,7 +1231,7 @@ container.va_start # string - that holds the argment name for va_start () container.optional # 0/1 (default: 0), up to binding generator to use ``` - + ## Ownership and License The contributors are listed in AUTHORS. This project uses the MPL v2 license, see LICENSE. @@ -1142,12 +1240,12 @@ zproject uses the [C4.1 (Collective Code Construction Contract)](http://rfc.zero To report an issue, use the [zproject issue tracker](https://github.com/zeromq/zproject/issues) at github.com. - + ### Ownership and License of generated sources The copyright of the output of zproject is by default property of the users. The license.xml file must be set up by the users to specify a license of their choosing. - + ### Hints to Contributors Make sure that the project model hides all details of backend scripts. For example don't make a user enter a header file because autoconf needs it. @@ -1156,7 +1254,7 @@ Do read your code after you write it and ask, "Can I make this simpler?" We do u Before opening a pull request read our [contribution guidelines](https://github.com/zeromq/zproject/blob/master/CONTRIBUTING.md). Thanks! - + ### This Document _This documentation was generated from zproject/README.txt using [Gitdown](https://github.com/zeromq/gitdown)_ diff --git a/README.txt b/README.txt index 2439b0cf..0874c868 100644 --- a/README.txt +++ b/README.txt @@ -458,7 +458,44 @@ with --with-systemd-units. **config** This will install additional configuration files to -$(sysconfdir)/$(project.name)/$(name). +$\(sysconfdir)/$\(project.name)/$\(name). + +## Notes for Writing Targets + +### Snippets + +If you write a new target or extend one you might be in the situtation where you +need to put code fragments into files which are not specific to your target. For +example the `systemd` target has to extend files from the `autotools`, `debian` +and `redhat` targets. In order to keep those files as maintainable as possible +you'll include a snippet which is pull from your targets file. To include +a snippet call: + +``` + insert_snippet (target) +``` + +Where target is the identifier for the insertion point i.e. the filename. To +register a snippet to be inserted simply call. + +``` + register_snippet (target, name) +``` + +Target is must match the one in `insert_snippet` and the name identifies your +snippet. Then you can create a function or macro with the following form +(without the brackets): + +``` + function snippet__ + + .macro snippet__ +``` + +This function will be called by the `insert_snippet` function. You can have an +arbitrary amount of registered snippets per insertion point which will be +inserted in arbitrary order so don't make any assumption on the order of the +snippets per insertion point. ## Notes for Writing Language Targets From 85c6a1f14e22fa477f17366be5a280143e948e5d Mon Sep 17 00:00:00 2001 From: Kevin Sapper Date: Fri, 3 Feb 2017 15:42:39 +0100 Subject: [PATCH 4/4] Problem: zproject is out of sync with zproject Solution: regenerate all! --- packaging/debian/zproject.install | 2 +- packaging/redhat/zproject.spec | 2 +- src/Makemodule.am | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packaging/debian/zproject.install b/packaging/debian/zproject.install index 016af13c..297b6a58 100644 --- a/packaging/debian/zproject.install +++ b/packaging/debian/zproject.install @@ -6,7 +6,6 @@ usr/bin/zproject_bench.gsl usr/bin/zproject_class.gsl usr/bin/zproject_git.gsl usr/bin/zproject_valgrind.gsl -usr/bin/zproject_install.gsl usr/bin/zproject_android.gsl usr/bin/zproject_autotools.gsl usr/bin/zproject_cmake.gsl @@ -29,6 +28,7 @@ usr/bin/zproject_qt.gsl usr/bin/zproject_redhat.gsl usr/bin/zproject_rpi.gsl usr/bin/zproject_ruby.gsl +usr/bin/zproject_systemd.gsl usr/bin/zproject_travis.gsl usr/bin/zproject_vagrant.gsl usr/bin/zproject_vs2008.gsl diff --git a/packaging/redhat/zproject.spec b/packaging/redhat/zproject.spec index 7791fef8..499e184a 100644 --- a/packaging/redhat/zproject.spec +++ b/packaging/redhat/zproject.spec @@ -74,7 +74,6 @@ find %{buildroot} -name '*.la' | xargs rm -f %{_bindir}/zproject_class.gsl %{_bindir}/zproject_git.gsl %{_bindir}/zproject_valgrind.gsl -%{_bindir}/zproject_install.gsl %{_bindir}/zproject_android.gsl %{_bindir}/zproject_autotools.gsl %{_bindir}/zproject_cmake.gsl @@ -97,6 +96,7 @@ find %{buildroot} -name '*.la' | xargs rm -f %{_bindir}/zproject_redhat.gsl %{_bindir}/zproject_rpi.gsl %{_bindir}/zproject_ruby.gsl +%{_bindir}/zproject_systemd.gsl %{_bindir}/zproject_travis.gsl %{_bindir}/zproject_vagrant.gsl %{_bindir}/zproject_vs2008.gsl diff --git a/src/Makemodule.am b/src/Makemodule.am index 67ac1055..cacaaecb 100644 --- a/src/Makemodule.am +++ b/src/Makemodule.am @@ -19,7 +19,6 @@ dist_bin_SCRIPTS = \ zproject_class.gsl \ zproject_git.gsl \ zproject_valgrind.gsl \ - zproject_install.gsl \ zproject_android.gsl \ zproject_autotools.gsl \ zproject_cmake.gsl \ @@ -42,6 +41,7 @@ dist_bin_SCRIPTS = \ zproject_redhat.gsl \ zproject_rpi.gsl \ zproject_ruby.gsl \ + zproject_systemd.gsl \ zproject_travis.gsl \ zproject_vagrant.gsl \ zproject_vs2008.gsl \