summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Munro2022-08-04 21:36:50 +0000
committerThomas Munro2022-08-04 21:36:50 +0000
commit5963c9a154bd5590a7ea48826d9bd72c9324e071 (patch)
tree99099e09af6629f7e1c97ccc00020186b5874e09
parent2b1f580ee2ca373d0451d89a40fc8f0a5f55ede9 (diff)
Remove configure probe for link.
link() is in SUSv2 and all targeted Unix systems have it. We have replacement code for Windows that doesn't require a configure probe. Since only Windows needs it, rename src/port/link.c to win32link.c like other similar things. There is no need for a vestigial HAVE_LINK macro, because we expect all Unix and, with our replacement function, Windows systems to have it, so we didn't have any tests around link() usage. Reviewed-by: Tom Lane <[email protected]> Reviewed-by: Andres Freund <[email protected]> Discussion: https://postgr.es/m/CA+hUKGJ3LHeP9w5Fgzdr4G8AnEtJ=z=p6hGDEm4qYGEUX5B6fQ@mail.gmail.com
-rwxr-xr-xconfigure19
-rw-r--r--configure.ac2
-rw-r--r--src/include/pg_config.h.in3
-rw-r--r--src/include/port.h3
-rw-r--r--src/port/win32link.c (renamed from src/port/link.c)8
-rw-r--r--src/tools/msvc/Mkvcbuild.pm6
-rw-r--r--src/tools/msvc/Solution.pm1
7 files changed, 15 insertions, 27 deletions
diff --git a/configure b/configure
index 1f852078e7..6358bdcabc 100755
--- a/configure
+++ b/configure
@@ -16715,19 +16715,6 @@ esac
fi
-ac_fn_c_check_func "$LINENO" "link" "ac_cv_func_link"
-if test "x$ac_cv_func_link" = xyes; then :
- $as_echo "#define HAVE_LINK 1" >>confdefs.h
-
-else
- case " $LIBOBJS " in
- *" link.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS link.$ac_objext"
- ;;
-esac
-
-fi
-
ac_fn_c_check_func "$LINENO" "mkdtemp" "ac_cv_func_mkdtemp"
if test "x$ac_cv_func_mkdtemp" = xyes; then :
$as_echo "#define HAVE_MKDTEMP 1" >>confdefs.h
@@ -17060,6 +17047,12 @@ esac
esac
case " $LIBOBJS " in
+ *" win32link.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS win32link.$ac_objext"
+ ;;
+esac
+
+ case " $LIBOBJS " in
*" win32ntdll.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS win32ntdll.$ac_objext"
;;
diff --git a/configure.ac b/configure.ac
index ca0c65fbd9..3cf42d1ce4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1877,7 +1877,6 @@ AC_REPLACE_FUNCS(m4_normalize([
getopt
getpeereid
inet_aton
- link
mkdtemp
pread
pwrite
@@ -1957,6 +1956,7 @@ if test "$PORTNAME" = "win32"; then
AC_LIBOBJ(win32dlopen)
AC_LIBOBJ(win32env)
AC_LIBOBJ(win32error)
+ AC_LIBOBJ(win32link)
AC_LIBOBJ(win32ntdll)
AC_LIBOBJ(win32security)
AC_LIBOBJ(win32setlocale)
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index 15e01efa06..beb42549c1 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -334,9 +334,6 @@
/* Define to 1 if you have the `zstd' library (-lzstd). */
#undef HAVE_LIBZSTD
-/* Define to 1 if you have the `link' function. */
-#undef HAVE_LINK
-
/* Define to 1 if the system has the type `locale_t'. */
#undef HAVE_LOCALE_T
diff --git a/src/include/port.h b/src/include/port.h
index 7dad6caa63..a219a8b868 100644
--- a/src/include/port.h
+++ b/src/include/port.h
@@ -402,7 +402,8 @@ extern float pg_strtof(const char *nptr, char **endptr);
#define strtof(a,b) (pg_strtof((a),(b)))
#endif
-#ifndef HAVE_LINK
+#ifdef WIN32
+/* src/port/win32link.c */
extern int link(const char *src, const char *dst);
#endif
diff --git a/src/port/link.c b/src/port/win32link.c
index 1e0ccd4648..0658479046 100644
--- a/src/port/link.c
+++ b/src/port/win32link.c
@@ -1,21 +1,19 @@
/*-------------------------------------------------------------------------
*
- * link.c
+ * win32link.c
*
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
- * src/port/link.c
+ * src/port/win32link.c
*
*-------------------------------------------------------------------------
*/
#include "c.h"
-#ifdef WIN32
-
int
link(const char *src, const char *dst)
{
@@ -31,5 +29,3 @@ link(const char *src, const char *dst)
else
return 0;
}
-
-#endif
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
index 266f98e2ed..1ffe6e66d5 100644
--- a/src/tools/msvc/Mkvcbuild.pm
+++ b/src/tools/msvc/Mkvcbuild.pm
@@ -103,13 +103,15 @@ sub mkvcbuild
getpeereid.c getrusage.c inet_aton.c
getaddrinfo.c gettimeofday.c inet_net_ntop.c kill.c open.c
snprintf.c strlcat.c strlcpy.c dirmod.c noblock.c path.c
- dirent.c getopt.c getopt_long.c link.c
+ dirent.c getopt.c getopt_long.c
pread.c preadv.c pwrite.c pwritev.c pg_bitutils.c
pg_strong_random.c pgcheckdir.c pgmkdirp.c pgsleep.c pgstrcasecmp.c
pqsignal.c mkdtemp.c qsort.c qsort_arg.c bsearch_arg.c quotes.c system.c
strerror.c tar.c
win32dlopen.c
- win32env.c win32error.c win32ntdll.c
+ win32env.c win32error.c
+ win32link.c
+ win32ntdll.c
win32security.c win32setlocale.c win32stat.c);
push(@pgportfiles, 'strtof.c') if ($vsVersion < '14.00');
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index 71db5f60f8..7806ad67d0 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -306,7 +306,6 @@ sub GenerateFiles
HAVE_LIBXSLT => undef,
HAVE_LIBZ => $self->{options}->{zlib} ? 1 : undef,
HAVE_LIBZSTD => undef,
- HAVE_LINK => undef,
HAVE_LOCALE_T => 1,
HAVE_LONG_INT_64 => undef,
HAVE_LONG_LONG_INT_64 => 1,