summaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/include/Makefile
AgeCommit message (Collapse)Author
2023-11-06Remove distprepPeter Eisentraut
A PostgreSQL release tarball contains a number of prebuilt files, in particular files produced by bison, flex, perl, and well as html and man documentation. We have done this consistent with established practice at the time to not require these tools for building from a tarball. Some of these tools were hard to get, or get the right version of, from time to time, and shipping the prebuilt output was a convenience to users. Now this has at least two problems: One, we have to make the build system(s) work in two modes: Building from a git checkout and building from a tarball. This is pretty complicated, but it works so far for autoconf/make. It does not currently work for meson; you can currently only build with meson from a git checkout. Making meson builds work from a tarball seems very difficult or impossible. One particular problem is that since meson requires a separate build directory, we cannot make the build update files like gram.h in the source tree. So if you were to build from a tarball and update gram.y, you will have a gram.h in the source tree and one in the build tree, but the way things work is that the compiler will always use the one in the source tree. So you cannot, for example, make any gram.y changes when building from a tarball. This seems impossible to fix in a non-horrible way. Second, there is increased interest nowadays in precisely tracking the origin of software. We can reasonably track contributions into the git tree, and users can reasonably track the path from a tarball to packages and downloads and installs. But what happens between the git tree and the tarball is obscure and in some cases non-reproducible. The solution for both of these issues is to get rid of the step that adds prebuilt files to the tarball. The tarball now only contains what is in the git tree (*). Getting the additional build dependencies is no longer a problem nowadays, and the complications to keep these dual build modes working are significant. And of course we want to get the meson build system working universally. This commit removes the make distprep target altogether. The make dist target continues to do its job, it just doesn't call distprep anymore. (*) - The tarball also contains the INSTALL file that is built at make dist time, but not by distprep. This is unchanged for now. The make maintainer-clean target, whose job it is to remove the prebuilt files in addition to what make distclean does, is now just an alias to make distprep. (In practice, it is probably obsolete given that git clean is available.) The following programs are now hard build requirements in configure (they were already required by meson.build): - bison - flex - perl Reviewed-by: Michael Paquier <[email protected]> Reviewed-by: Andres Freund <[email protected]> Discussion: https://www.postgresql.org/message-id/flat/[email protected]
2018-06-18Add PGTYPESchar_free() to avoid cross-module problems on Windows.Thomas Munro
On Windows, it is sometimes important for corresponding malloc() and free() calls to be made from the same DLL, since some build options can result in multiple allocators being active at the same time. For that reason we already provided PQfreemem(). This commit adds a similar function for freeing string results allocated by the pgtypes library. Author: Takayuki Tsunakawa Reviewed-by: Kyotaro Horiguchi Discussion: https://postgr.es/m/0A3221C70F24FB45833433255569204D1F8AD5D6%40G01JPEXMBYT05
2013-03-30ecpg: Parallel make fixPeter Eisentraut
In some parallel make situations, the install-headers target could be called before the installation directories are created by installdirs, causing the installation to fail. Fix that by making install-headers depend on installdirs.
2010-01-05Applied patch by Boszormenyi Zoltan <[email protected]> to add sqlda support toMichael Meskes
ecpg in both native and compatiblity mode.
2009-10-26Simplify a few makefile rules since install-sh can now install multiplePeter Eisentraut
files in one run.
2009-08-26Update of install-sh, mkinstalldirs, and associated configuryPeter Eisentraut
Update install-sh to that from Autoconf 2.63, plus our Darwin-specific changes (which I simplified a bit). install-sh is now able to install multiple files in one run, so we could simplify our makefiles sometime. install-sh also now has a -d option to create directories, so we don't need mkinstalldirs anymore. Use AC_PROG_MKDIR_P in configure.in, so we can use mkdir -p when available instead of install-sh -d. For consistency with the rest of the world, the corresponding make variable has been renamed from $(mkinstalldirs) to $(MKDIR_P).
2009-01-22Recreate ecpg_config.h with a stamp file created by config.status, samePeter Eisentraut
way pg_config.h is handled. This avoids reruns of config.status on every build, if configure has been rerun.
2008-02-26Fix uninstall target.Peter Eisentraut
2007-09-27Define the FRONTEND symbol in postgres_fe.h, which allows us to eliminateTom Lane
duplicative -DFRONTEND flags from many Makefiles. We still need Makefile control of the symbol in a few places that compile frontend-or-backend src/port/ files, but it's a lot cleaner than before. Hiroshi Saito
2006-11-29Fix Makefile problem which prevented installation on VPATH builds.Alvaro Herrera
2006-11-28Also install ecpg_config.hMichael Meskes
2006-08-28Partial fix for ecpg's VPATH problems. It compiles and successfullyTom Lane
builds all the files needed for its regression tests, but the tests themselves fail because of diffs in the #line directives output by ecpg itself. Not sure what to do about that.
2006-08-24Needed more stuff from c.h.Michael Meskes
2006-08-23Replaced double-quote-fix with a hopefully better version.Michael Meskes
Use initializer string length as size for character strings. Added ecpg_config.h file that is created via configure.
2006-07-15Fix some makefiles that fail to yield good results from 'make -qp'.Tom Lane
This doesn't really matter for ordinary building of Postgres, but it's useful for automated checks, such as my just-committed pgcheckdefines.
2005-12-09Allow installation into directories containing spaces in the name.Peter Eisentraut
2003-12-18Move Informix compatibility include files out of the way. compatlib.hPeter Eisentraut
was integrated into ecpg_informix.h, the other ones go into their own subdirectory that is automatically considered by the embedded preprocessor when in Informix mode.
2003-10-20Install dummy sqlda.h file since this is needed for compatibility.Michael Meskes
2003-10-03Hide Informix datatypes. They are not seen by our built process anymore.Michael Meskes
2003-06-29Just another sync.Michael Meskes
2003-06-25Implemented Informix special way to treat NULLs, removed warnings, synced.Michael Meskes
2003-06-12Install all header files.Michael Meskes
2003-03-16Started working on a seperate pgtypes library. First test work. PLEASE test ↵Michael Meskes
compilation on iother systems.
2003-02-21Forgot to commit Makefile change.Michael Meskes
2000-09-17Support for DESTDIR make variable. This is used as in `make installPeter Eisentraut
DESTDIR=/else/where' and prepends the value of DESTDIR to the full installation paths (e.g., /else/where/usr/local/pgsql/bin). This allows users to install the package into a location different from the one that was configured and hard-coded into various scripts, e.g., for creating binary packages. DESTDIR is in many cases preferrable over `make install prefix=/else/where' because a) `prefix' affects the path that is hard-coded into the files, which can lead to a `make install prefix=xxx' (as done by the regression test driver) corrupting the files in the source tree with wrong paths. b) it doesn't work at all if a directory was overridden to not depend on `prefix', e.g., --sysconfdir=/etc. (Updating the regression test driver to use DESTDIR is a separate undertaking.) See also [email protected], From: Akim Demaille <[email protected]>, Date: 08 Sep 2000 12:48:59 +0200, Message-ID: <[email protected]>, Subject: Re: HTML format documentation.
2000-08-31Fix relative path references so that make knowns which dependencies referPeter Eisentraut
to one another. Sort out builddir vs srcdir variable namings. Remove some now obsoleted make variables.
2000-06-28Makefile cleanup for interface tree. Now essentially with all thePeter Eisentraut
standard targets and behaviour. Replaced Makefile.in's with Makefile's and declared the respective variables in Makefile.global. maintainer-clean target now available at top level, although it does not work in the backend tree yet. Cleanup pass over Makefile.shlib, renamed some targets and variables. The shared library symlink tests are now done by make, not the shell. ecpg: Remove one warning in sloppy flex output. PL/Perl and Perl interface: the MakeMaker documentation is confusing, the realclean target *does* "delete derived files", but it also uninstalls them. Don't use that. The submake targets in the various bin directories that update libpq should `make all', not `make libpq.a'. That is a) unportable, and b) doesn't build the shared library.
2000-02-16*** empty log message ***Michael Meskes
1999-06-05ecpg.patch (wrong makefile expansion in some cases)Marc G. Fournier
the ecpg Makefiles use a variable DESTDIR which is never defined except by debian/rules makefile, in which case the ecpg makefiles expand wrong pathnames. If we want to support a DESTDIR root it must be done consistently in all the makefiles, not just in ecpg. From: Massimo Dal Zotto <[email protected]>
1998-05-06From: Michael Meskes <[email protected]>Marc G. Fournier
Tue Apr 28 14:48:41 CEST 1998 - Put operator "->" back into parser. Note that :foo->bar means the C term, but :foo ->bar means the operator "->". Tue Apr 28 15:49:07 CEST 1998 - Added exec sql disconnect command. - Allow varchar in C to be written in uppercase too. - Added whenever option "do break;" Wed Apr 29 09:17:53 CEST 1998 - Corrected parsing of C comments. - Also allow C++ style comments. - Make sure not found is only checked after commands that could return it. - Added error codes, see ecpgerror.h for details. - Added "exec sql <TransactionStmt> release" as disconnect statement for compatibility issues. Thu Apr 30 10:42:10 CEST 1998 - Added a -t option to disable automatic transaction start. - Added sqlerrd[] to sqlca struct. - Give back number of tuples affect in sqlca.sqlerrd[2]. Thu Apr 30 13:36:02 CEST 1998 - Make the return code different in case of different errors. Wed May 6 11:42:48 CEST 1998 - Free memory if possible - Some bugfixes for bugs I found while changing the memory allocation code - Now able to fill complete array with one call (see test1.pgc for an example) - Set version to 2.3.0 - Set library version to 2.1
1998-04-21Upgrade ECPG to 2.0Marc G. Fournier
Michael Meskes <[email protected]>
1998-04-06DESTDIR removed, again.Bruce Momjian
1998-04-06Re-introduce $DISTDIR.Bruce Momjian
1998-04-06Hi,Bruce Momjian
Attached you'll find a (big) patch that fixes make dep and make depend in all Makefiles where I found it to be appropriate. It also removes the dependency in Makefile.global for NAMEDATALEN and OIDNAMELEN by making backend/catalog/genbki.sh and bin/initdb/initdb.sh a little smarter. This no longer requires initdb.sh that is turned into initdb with a sed script when installing Postgres, hence initdb.sh should be renamed to initdb (after the patch has been applied :-) ) This patch is against the 6.3 sources, as it took a while to complete. Please review and apply, Cheers, Jeroen van Vianen
1998-04-05Remove DISTDIR.Bruce Momjian
1998-02-23A few misc fixes brought up by AndrewMarc G. Fournier
1998-02-19Password fix. Now people have to do the REVOKE themselves.Bruce Momjian
1998-02-12Remove configure code from ecpg, as well as remove the 'for' loop from theMarc G. Fournier
Makefile, as it isn't appropriate for GNUmake
1998-02-10Erk, the whole directory structure changed on us here...Marc G. Fournier