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 @@ -17059,6 +17046,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 similarity index 92% rename from src/port/link.c rename to 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,