Improvement and unification of version processing in build scripts.

This also eliminates expressions that incompatible with BSD make, thus fixing
installation of Node.js module on FreeBSD (broken by dace60fc4926).
This commit is contained in:
Alexander Borisov
2019-02-22 16:31:44 +03:00
parent c96b2baca5
commit 608e09e9de
13 changed files with 43 additions and 43 deletions

View File

@@ -67,6 +67,22 @@ done
$echo >> $NXT_MAKEFILE $echo >> $NXT_MAKEFILE
# The version file.
cat << END >> $NXT_MAKEFILE
include version
$NXT_VERSION_H: version
$echo '#define NXT_VERSION "\$(NXT_VERSION)"' > $NXT_VERSION_H
$echo '#define NXT_VERNUM \$(NXT_VERNUM)' >> $NXT_VERSION_H
$NXT_BUILD_DIR/src/nxt_unit.o: $NXT_VERSION_H
$NXT_BUILD_DIR/src/nxt_lib.o: $NXT_VERSION_H
END
# Shared and static library. # Shared and static library.
cat << END >> $NXT_MAKEFILE cat << END >> $NXT_MAKEFILE
@@ -82,14 +98,6 @@ $NXT_BUILD_DIR/$NXT_LIB_STATIC: \$(NXT_LIB_OBJS)
$NXT_STATIC_LINK $NXT_BUILD_DIR/$NXT_LIB_STATIC \\ $NXT_STATIC_LINK $NXT_BUILD_DIR/$NXT_LIB_STATIC \\
\$(NXT_LIB_OBJS) \$(NXT_LIB_OBJS)
$NXT_BUILD_DIR/nxt_unit_version.h: src/nxt_main.h
$echo -n '#define NXT_UNIT_VERNUM ' > $NXT_BUILD_DIR/nxt_unit_version.h
grep 'define NXT_VERNUM' src/nxt_main.h \\
| sed -e 's/[^0-9]//g' >> $NXT_BUILD_DIR/nxt_unit_version.h
$NXT_BUILD_DIR/src/nxt_unit.o: $NXT_BUILD_DIR/nxt_unit_version.h
$NXT_BUILD_DIR/src/nxt_lib.o: $NXT_BUILD_DIR/nxt_unit_version.h
$NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC: \$(NXT_LIB_UNIT_OBJS) $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC: \$(NXT_LIB_UNIT_OBJS)
$NXT_STATIC_LINK $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\ $NXT_STATIC_LINK $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\
\$(NXT_LIB_UNIT_OBJS) \$(NXT_LIB_UNIT_OBJS)
@@ -296,7 +304,7 @@ libunit-install: $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC
install -d \$(DESTDIR)$NXT_INCDIR install -d \$(DESTDIR)$NXT_INCDIR
install -p -m u=rw,go=r src/nxt_unit.h src/nxt_unit_field.h \ install -p -m u=rw,go=r src/nxt_unit.h src/nxt_unit_field.h \
src/nxt_unit_request.h src/nxt_unit_response.h src/nxt_unit_sptr.h \ src/nxt_unit_request.h src/nxt_unit_response.h src/nxt_unit_sptr.h \
src/nxt_unit_typedefs.h $NXT_BUILD_DIR/nxt_unit_version.h \ src/nxt_unit_typedefs.h $NXT_BUILD_DIR/nxt_version.h \
\$(DESTDIR)$NXT_INCDIR/ \$(DESTDIR)$NXT_INCDIR/
libunit-uninstall: libunit-uninstall:
@@ -308,7 +316,7 @@ libunit-uninstall:
\$(DESTDIR)$NXT_INCDIR/nxt_unit_response.h \ \$(DESTDIR)$NXT_INCDIR/nxt_unit_response.h \
\$(DESTDIR)$NXT_INCDIR/nxt_unit_sptr.h \ \$(DESTDIR)$NXT_INCDIR/nxt_unit_sptr.h \
\$(DESTDIR)$NXT_INCDIR/nxt_unit_typedefs.h \ \$(DESTDIR)$NXT_INCDIR/nxt_unit_typedefs.h \
\$(DESTDIR)$NXT_INCDIR/nxt_unit_version.h \$(DESTDIR)$NXT_INCDIR/nxt_version.h
@rmdir -p \$(DESTDIR)$NXT_INCDIR 2>/dev/null || true @rmdir -p \$(DESTDIR)$NXT_INCDIR 2>/dev/null || true
END END

View File

@@ -103,7 +103,7 @@ ${NXT_GO}:
${NXT_GO}-install: ${NXT_GO}-install-build ${NXT_GO}-install: ${NXT_GO}-install-build
${NXT_GO}-install-src: ${NXT_BUILD_DIR}/nxt_unit_version.h ${NXT_GO}-install-src: ${NXT_VERSION_H}
install -d \$(DESTDIR)\$(NXT_GO_DST)/src/nginx/unit install -d \$(DESTDIR)\$(NXT_GO_DST)/src/nginx/unit
install -p -m644 ./src/*.h ./build/*.h ./src/go/unit/* \ install -p -m644 ./src/*.h ./build/*.h ./src/go/unit/* \
./src/nxt_unit.c ./src/nxt_lvlhsh.c ./src/nxt_murmur_hash.c \ ./src/nxt_unit.c ./src/nxt_lvlhsh.c ./src/nxt_murmur_hash.c \

View File

@@ -145,9 +145,6 @@ cat << END >> $NXT_MAKEFILE
.PHONY: ${NXT_NODE}-build .PHONY: ${NXT_NODE}-build
.PHONY: ${NXT_NODE}-publish .PHONY: ${NXT_NODE}-publish
NXT_UNIT_VERSION=\$(shell grep 'define NXT_VERSION' \
src/nxt_main.h | sed -e 's/^.*"\(.*\)".*/\1/')
${NXT_NODE}: ${NXT_NODE}-copy $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC ${NXT_NODE}: ${NXT_NODE}-copy $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC
${NXT_NODE_EXPORTS} && \\ ${NXT_NODE_EXPORTS} && \\
cd ${NXT_NODE_TMP} && ${NXT_NODE_GYP} configure build clean cd ${NXT_NODE_TMP} && ${NXT_NODE_GYP} configure build clean
@@ -156,14 +153,12 @@ ${NXT_NODE}-copy: ${NXT_NODE_VERSION_FILE}
mkdir -p ${NXT_BUILD_DIR}/src/ mkdir -p ${NXT_BUILD_DIR}/src/
cp -rp src/nodejs/* ${NXT_BUILD_DIR}/src/${NXT_NODE} cp -rp src/nodejs/* ${NXT_BUILD_DIR}/src/${NXT_NODE}
${NXT_NODE_VERSION_FILE}: src/nxt_main.h ${NXT_NODE_VERSION_FILE}: ${NXT_VERSION_H}
mkdir -p ${NXT_NODE_TMP} mkdir -p ${NXT_NODE_TMP}
$echo -n '#define NXT_NODE_VERNUM ' > $NXT_NODE_VERSION_FILE $echo '#define NXT_NODE_VERNUM \$(NXT_VERNUM)' > $NXT_NODE_VERSION_FILE
grep 'define NXT_VERNUM' src/nxt_main.h \\
| sed -e 's/[^0-9]//g' >> $NXT_NODE_VERSION_FILE
${NXT_NODE_TARBALL}: ${NXT_NODE}-copy ${NXT_NODE_TARBALL}: ${NXT_NODE}-copy
sed -e 's/"version"\s*:.*/"version": "\$(NXT_UNIT_VERSION).0",/' \ sed -e 's/"version"\s*:.*/"version": "\$(NXT_VERSION).0",/' \
${NXT_NODE_TMP}/package.json > ${NXT_NODE_TMP}/package.json.tmp ${NXT_NODE_TMP}/package.json > ${NXT_NODE_TMP}/package.json.tmp
mv ${NXT_NODE_TMP}/package.json.tmp ${NXT_NODE_TMP}/package.json mv ${NXT_NODE_TMP}/package.json.tmp ${NXT_NODE_TMP}/package.json
tar -zcvf ${NXT_NODE_TARBALL} -C ${NXT_NODE_TMP} . tar -zcvf ${NXT_NODE_TARBALL} -C ${NXT_NODE_TMP} .

1
configure vendored
View File

@@ -25,6 +25,7 @@ NXT_AUTOTEST=$NXT_BUILD_DIR/autotest
NXT_AUTOCONF_ERR=$NXT_BUILD_DIR/autoconf.err NXT_AUTOCONF_ERR=$NXT_BUILD_DIR/autoconf.err
NXT_AUTOCONF_DATA=$NXT_BUILD_DIR/autoconf.data NXT_AUTOCONF_DATA=$NXT_BUILD_DIR/autoconf.data
NXT_AUTO_CONFIG_H=$NXT_BUILD_DIR/nxt_auto_config.h NXT_AUTO_CONFIG_H=$NXT_BUILD_DIR/nxt_auto_config.h
NXT_VERSION_H=$NXT_BUILD_DIR/nxt_version.h
NXT_MAKEFILE=$NXT_BUILD_DIR/Makefile NXT_MAKEFILE=$NXT_BUILD_DIR/Makefile
CC=${CC:-cc} CC=${CC:-cc}

View File

@@ -1,8 +1,8 @@
#!/usr/bin/make #!/usr/bin/make
VERSION ?= $(shell grep 'define NXT_VERSION' ../src/nxt_main.h \ include ../version
| sed -e 's/^.*"\(.*\)".*/\1/')
VERSION ?= $(NXT_VERSION)
RELEASE ?= 1 RELEASE ?= 1
default: default:

View File

@@ -1,11 +1,10 @@
#!/usr/bin/make #!/usr/bin/make
DEFAULT_VERSION := $(shell grep 'define NXT_VERSION' ../../src/nxt_main.h \ include ../../version
| sed -e 's/^.*"\(.*\)".*/\1/')
DEFAULT_RELEASE := 1 DEFAULT_RELEASE := 1
VERSION ?= $(DEFAULT_VERSION) VERSION ?= $(NXT_VERSION)
RELEASE ?= $(DEFAULT_RELEASE) RELEASE ?= $(DEFAULT_RELEASE)
SRCDIR= unit-$(VERSION) SRCDIR= unit-$(VERSION)

View File

@@ -1,10 +1,10 @@
#!/usr/bin/make #!/usr/bin/make
DEFAULT_VERSION := $(shell grep 'define NXT_VERSION' ../../src/nxt_main.h \ include ../../version
| sed -e 's/^.*"\(.*\)".*/\1/')
DEFAULT_RELEASE := 1 DEFAULT_RELEASE := 1
VERSION ?= $(DEFAULT_VERSION) VERSION ?= $(NXT_VERSION)
RELEASE ?= $(DEFAULT_RELEASE) RELEASE ?= $(DEFAULT_RELEASE)
CODENAME := stretch CODENAME := stretch

View File

@@ -1,13 +1,9 @@
#!/usr/bin/make #!/usr/bin/make
DEFAULT_VERSION := $(shell grep 'define NXT_VERSION' ../../src/nxt_main.h \ include ../../version
| sed -e 's/^.*"\(.*\)".*/\1/')
DEFAULT_VERNUM := $(shell grep 'define NXT_VERNUM' ../../src/nxt_main.h \ VERSION ?= $(NXT_VERSION)
| sed -e 's/[^0-9]//g') VERNUM ?= $(NXT_VERNUM)
VERSION ?= $(DEFAULT_VERSION)
VERNUM ?= $(DEFAULT_VERNUM)
NPM ?= npm NPM ?= npm
default: default:

View File

@@ -1,11 +1,10 @@
#!/usr/bin/make #!/usr/bin/make
DEFAULT_VERSION := $(shell grep 'define NXT_VERSION' ../../src/nxt_main.h \ include ../../version
| sed -e 's/^.*"\(.*\)".*/\1/')
DEFAULT_RELEASE := 1 DEFAULT_RELEASE := 1
VERSION ?= $(DEFAULT_VERSION) VERSION ?= $(NXT_VERSION)
RELEASE ?= $(DEFAULT_RELEASE) RELEASE ?= $(DEFAULT_RELEASE)
ifeq ($(shell rpm --eval "%{?rhel}"), 6) ifeq ($(shell rpm --eval "%{?rhel}"), 6)

View File

@@ -15,7 +15,7 @@ extern "C" {
#include "version.h" #include "version.h"
#include <nxt_unit.h> #include <nxt_unit.h>
#if NXT_UNIT_VERNUM != NXT_NODE_VERNUM #if NXT_VERNUM != NXT_NODE_VERNUM
#error "libunit version mismatch." #error "libunit version mismatch."
#endif #endif

View File

@@ -9,10 +9,7 @@
#include <nxt_auto_config.h> #include <nxt_auto_config.h>
#include <nxt_version.h>
#define NXT_VERSION "1.8"
#define NXT_VERNUM 10800
#define NXT_SERVER "Unit/" NXT_VERSION #define NXT_SERVER "Unit/" NXT_VERSION

View File

@@ -11,7 +11,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <string.h> #include <string.h>
#include "nxt_unit_version.h" #include "nxt_version.h"
#include "nxt_unit_typedefs.h" #include "nxt_unit_typedefs.h"

5
version Normal file
View File

@@ -0,0 +1,5 @@
# Copyright (C) NGINX, Inc.
NXT_VERSION=1.8
NXT_VERNUM=10800