Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Postgres/src/common/   (Postgres Database Version 18.4©)  Datei vom 11.4.2026 mit Größe 4 kB image not shown  

Quelle  config_info.c

  Sprache: C
 

/*-------------------------------------------------------------------------
 *
 * config_info.c
 *  Common code for pg_config output
 *
 *
 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994, Regents of the University of California
 *
 *
 * IDENTIFICATION
 *   src/common/config_info.c
 *
 *-------------------------------------------------------------------------
 */


#ifndef FRONTEND
#include "postgres.h"
#else
#include "postgres_fe.h"
#endif

#include "common/config_info.h"


/*
 * get_configdata(const char *my_exec_path, size_t *configdata_len)
 *
 * Get configure-time constants. The caller is responsible
 * for pfreeing the result.
 */

ConfigData *
get_configdata(const char *my_exec_path, size_t *configdata_len)
{
 ConfigData *configdata;
 char  path[MAXPGPATH];
 char    *lastsep;
 int   i = 0;

 /* Adjust this to match the number of items filled below */
 *configdata_len = 23;
 configdata = palloc_array(ConfigData, *configdata_len);

 configdata[i].name = pstrdup("BINDIR");
 strlcpy(path, my_exec_path, sizeof(path));
 lastsep = strrchr(path, '/');
 if (lastsep)
  *lastsep = '\0';
 cleanup_path(path);
 configdata[i].setting = pstrdup(path);
 i++;

 configdata[i].name = pstrdup("DOCDIR");
 get_doc_path(my_exec_path, path);
 cleanup_path(path);
 configdata[i].setting = pstrdup(path);
 i++;

 configdata[i].name = pstrdup("HTMLDIR");
 get_html_path(my_exec_path, path);
 cleanup_path(path);
 configdata[i].setting = pstrdup(path);
 i++;

 configdata[i].name = pstrdup("INCLUDEDIR");
 get_include_path(my_exec_path, path);
 cleanup_path(path);
 configdata[i].setting = pstrdup(path);
 i++;

 configdata[i].name = pstrdup("PKGINCLUDEDIR");
 get_pkginclude_path(my_exec_path, path);
 cleanup_path(path);
 configdata[i].setting = pstrdup(path);
 i++;

 configdata[i].name = pstrdup("INCLUDEDIR-SERVER");
 get_includeserver_path(my_exec_path, path);
 cleanup_path(path);
 configdata[i].setting = pstrdup(path);
 i++;

 configdata[i].name = pstrdup("LIBDIR");
 get_lib_path(my_exec_path, path);
 cleanup_path(path);
 configdata[i].setting = pstrdup(path);
 i++;

 configdata[i].name = pstrdup("PKGLIBDIR");
 get_pkglib_path(my_exec_path, path);
 cleanup_path(path);
 configdata[i].setting = pstrdup(path);
 i++;

 configdata[i].name = pstrdup("LOCALEDIR");
 get_locale_path(my_exec_path, path);
 cleanup_path(path);
 configdata[i].setting = pstrdup(path);
 i++;

 configdata[i].name = pstrdup("MANDIR");
 get_man_path(my_exec_path, path);
 cleanup_path(path);
 configdata[i].setting = pstrdup(path);
 i++;

 configdata[i].name = pstrdup("SHAREDIR");
 get_share_path(my_exec_path, path);
 cleanup_path(path);
 configdata[i].setting = pstrdup(path);
 i++;

 configdata[i].name = pstrdup("SYSCONFDIR");
 get_etc_path(my_exec_path, path);
 cleanup_path(path);
 configdata[i].setting = pstrdup(path);
 i++;

 configdata[i].name = pstrdup("PGXS");
 get_pkglib_path(my_exec_path, path);
 strlcat(path, "/pgxs/src/makefiles/pgxs.mk"sizeof(path));
 cleanup_path(path);
 configdata[i].setting = pstrdup(path);
 i++;

 configdata[i].name = pstrdup("CONFIGURE");
 configdata[i].setting = pstrdup(CONFIGURE_ARGS);
 i++;

 configdata[i].name = pstrdup("CC");
#ifdef VAL_CC
 configdata[i].setting = pstrdup(VAL_CC);
#else
 configdata[i].setting = pstrdup(_("not recorded"));
#endif
 i++;

 configdata[i].name = pstrdup("CPPFLAGS");
#ifdef VAL_CPPFLAGS
 configdata[i].setting = pstrdup(VAL_CPPFLAGS);
#else
 configdata[i].setting = pstrdup(_("not recorded"));
#endif
 i++;

 configdata[i].name = pstrdup("CFLAGS");
#ifdef VAL_CFLAGS
 configdata[i].setting = pstrdup(VAL_CFLAGS);
#else
 configdata[i].setting = pstrdup(_("not recorded"));
#endif
 i++;

 configdata[i].name = pstrdup("CFLAGS_SL");
#ifdef VAL_CFLAGS_SL
 configdata[i].setting = pstrdup(VAL_CFLAGS_SL);
#else
 configdata[i].setting = pstrdup(_("not recorded"));
#endif
 i++;

 configdata[i].name = pstrdup("LDFLAGS");
#ifdef VAL_LDFLAGS
 configdata[i].setting = pstrdup(VAL_LDFLAGS);
#else
 configdata[i].setting = pstrdup(_("not recorded"));
#endif
 i++;

 configdata[i].name = pstrdup("LDFLAGS_EX");
#ifdef VAL_LDFLAGS_EX
 configdata[i].setting = pstrdup(VAL_LDFLAGS_EX);
#else
 configdata[i].setting = pstrdup(_("not recorded"));
#endif
 i++;

 configdata[i].name = pstrdup("LDFLAGS_SL");
#ifdef VAL_LDFLAGS_SL
 configdata[i].setting = pstrdup(VAL_LDFLAGS_SL);
#else
 configdata[i].setting = pstrdup(_("not recorded"));
#endif
 i++;

 configdata[i].name = pstrdup("LIBS");
#ifdef VAL_LIBS
 configdata[i].setting = pstrdup(VAL_LIBS);
#else
 configdata[i].setting = pstrdup(_("not recorded"));
#endif
 i++;

 configdata[i].name = pstrdup("VERSION");
 configdata[i].setting = pstrdup("PostgreSQL " PG_VERSION);
 i++;

 Assert(i == *configdata_len);

 return configdata;
}

Messung V0.5 in Prozent
C=91 H=96 G=93

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet am  2026-08-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.