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
# 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.
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_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_STATIC_LINK $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC \\
\$(NXT_LIB_UNIT_OBJS)
@@ -296,7 +304,7 @@ libunit-install: $NXT_BUILD_DIR/$NXT_LIB_UNIT_STATIC
install -d \$(DESTDIR)$NXT_INCDIR
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_typedefs.h $NXT_BUILD_DIR/nxt_unit_version.h \
src/nxt_unit_typedefs.h $NXT_BUILD_DIR/nxt_version.h \
\$(DESTDIR)$NXT_INCDIR/
libunit-uninstall:
@@ -308,7 +316,7 @@ libunit-uninstall:
\$(DESTDIR)$NXT_INCDIR/nxt_unit_response.h \
\$(DESTDIR)$NXT_INCDIR/nxt_unit_sptr.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
END

View File

@@ -103,7 +103,7 @@ ${NXT_GO}:
${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 -p -m644 ./src/*.h ./build/*.h ./src/go/unit/* \
./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}-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_EXPORTS} && \\
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/
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}
$echo -n '#define NXT_NODE_VERNUM ' > $NXT_NODE_VERSION_FILE
grep 'define NXT_VERNUM' src/nxt_main.h \\
| sed -e 's/[^0-9]//g' >> $NXT_NODE_VERSION_FILE
$echo '#define NXT_NODE_VERNUM \$(NXT_VERNUM)' > $NXT_NODE_VERSION_FILE
${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
mv ${NXT_NODE_TMP}/package.json.tmp ${NXT_NODE_TMP}/package.json
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_DATA=$NXT_BUILD_DIR/autoconf.data
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
CC=${CC:-cc}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -11,7 +11,7 @@
#include <sys/types.h>
#include <string.h>
#include "nxt_unit_version.h"
#include "nxt_version.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