Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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 <tgl@sss.pgh.pa.us> Reviewed-by: Andres Freund <andres@anarazel.de> 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 1f852078e75..6358bdcabcd 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 ca0c65fbd9a..3cf42d1ce49 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 15e01efa068..beb42549c16 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 7dad6caa639..a219a8b8689 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 1e0ccd4648a..06584790465 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 266f98e2ed4..1ffe6e66d5a 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 71db5f60f8a..7806ad67d08 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,