Welcome! Log In Create A New Profile

Advanced

Re: [PATCH] Dynamic modules: add as a dependency to "make install" target

Maxim Dounin
February 12, 2016 11:26PM
Hello!

On Fri, Feb 12, 2016 at 02:55:22PM -0800, Piotr Sikora wrote:

> # HG changeset patch
> # User Piotr Sikora <piotrsikora@google.com>
> # Date 1455317648 28800
> # Fri Feb 12 14:54:08 2016 -0800
> # Node ID 4dfe52452f0d343b08b85089aa5ac98120d67ecc
> # Parent dcfe355dfda4693ac1f3aa8fb9705812c2485bac
> Dynamic modules: add as a dependency to "make install" target.
>
> Reported by badfiles on GitHub.
>
> Signed-off-by: Piotr Sikora <piotrsikora@google.com>
>
> diff -r dcfe355dfda4 -r 4dfe52452f0d auto/install
> --- a/auto/install
> +++ b/auto/install
> @@ -105,6 +105,7 @@ manpage: $NGX_OBJS/nginx.8
> < $NGX_MAN > \$@
>
> install: $NGX_OBJS${ngx_dirsep}nginx${ngx_binext} \
> + modules \
> $NGX_INSTALL_PERL_MODULES
> test -d '\$(DESTDIR)$NGX_PREFIX' || mkdir -p '\$(DESTDIR)$NGX_PREFIX'

We've discussed "make install" problem with Ruslan a couple of
days ago, and tend to think that something like this would be a
better option:

# HG changeset patch
# User Maxim Dounin <mdounin@mdounin.ru>
# Date 1455337144 -10800
# Sat Feb 13 07:19:04 2016 +0300
# Node ID d1fc94a6bbecfb2fd59c550c5eebbce0fd4a6500
# Parent 317abf4680eb22d80f5127c55a966366e8ab522b
Configure: added "build" targed.

The "build" targed introduced to do all build-related tasks, and
it is now used in Makefile and in objs/Makefile as a dependency for
the "install" targed.

In particular, this resolves problems as observed with dynamic modules
by people trying to do "make install" without calling "make" first.

diff --git a/auto/install b/auto/install
--- a/auto/install
+++ b/auto/install
@@ -104,8 +104,7 @@ manpage: $NGX_OBJS/nginx.8
-e "s|%%ERROR_LOG_PATH%%|${NGX_ERROR_LOG_PATH:-stderr}|" \\
< $NGX_MAN > \$@

-install: $NGX_OBJS${ngx_dirsep}nginx${ngx_binext} \
- $NGX_INSTALL_PERL_MODULES
+install: build $NGX_INSTALL_PERL_MODULES
test -d '\$(DESTDIR)$NGX_PREFIX' || mkdir -p '\$(DESTDIR)$NGX_PREFIX'

test -d '\$(DESTDIR)`dirname "$NGX_SBIN_PATH"`' \
@@ -187,8 +186,6 @@ cat << END >> Makefile

build:
\$(MAKE) -f $NGX_MAKEFILE
- \$(MAKE) -f $NGX_MAKEFILE modules
- \$(MAKE) -f $NGX_MAKEFILE manpage

install:
\$(MAKE) -f $NGX_MAKEFILE install
diff --git a/auto/make b/auto/make
--- a/auto/make
+++ b/auto/make
@@ -223,6 +223,8 @@ ngx_main_link=${MAIN_LINK:+`echo $MAIN_L

cat << END >> $NGX_MAKEFILE

+build: $NGX_OBJS${ngx_dirsep}nginx${ngx_binext} modules manpage
+
$NGX_OBJS${ngx_dirsep}nginx${ngx_binext}: $ngx_deps$ngx_spacer
\$(LINK) ${ngx_long_start}${ngx_binout}$NGX_OBJS${ngx_dirsep}nginx$ngx_long_cont$ngx_objs$ngx_libs$ngx_link$ngx_main_link
$ngx_rcc


--
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[PATCH] Dynamic modules: add as a dependency to "make install" target

Piotr Sikora 436 February 12, 2016 05:56PM

Re: [PATCH] Dynamic modules: add as a dependency to "make install" target

Maxim Dounin 237 February 12, 2016 11:26PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 137
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready