Faster install-sh in C

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Patches <pgsql-patches(at)postgresql(dot)org>
Subject: Faster install-sh in C
Date: 2004-11-11 03:57:12
Message-ID: 20041111035712.GA16357@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

Patchers,

I wrote an "install" program in C. It's supposed to replace the
config/install-sh script, limited to the functionality we need, i.e.
what is in Makefiles in the Pg main source tree. The main objective of
this exercise is to reduce "make install" execution time; a part of that
is being able to install multiple files with one command.

Portability testing right now is limited to my machine, which is Linux
with glibc 2.3.2 (Debian Sid).

With this in place, "make install" in src/include takes 17 seconds on
this machine, where the script version takes more than a minute. I
think this is a useful improvement.

Right now I'm missing a Makefile rule for it. It needs the pg_progname
symbol from src/port, and the includes from $(srcdir)/src/include and
$(builddir)/src/include. From the config directory, this works:

$(CC) $(CFLAGS) -I$(top_srcdir)/src/include -I$(top_builddir)/src/include ../src/port/path.o ../src/port/exec.o $< -o $@

Also, I don't know how to force it to build before executing "install",
short of putting it as a dependency in every makefile (which sounds
silly to me).

I attach the source code, and a src/include/Makefile modification to
use the multi-file install feature.

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Hay quien adquiere la mala costumbre de ser infeliz" (M. A. Evans)

Attachment Content-Type Size
bin-install.c text/x-csrc 8.8 KB

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Aleksander Kmetec 2004-11-11 04:46:24 Slovenian translations for 8.0
Previous Message Bruce Momjian 2004-11-11 02:19:41 Re: Proposed patch to remove USERLIMIT