aboutsummaryrefslogtreecommitdiffstats
path: root/config.mak.uname
diff options
context:
space:
mode:
Diffstat (limited to 'config.mak.uname')
-rw-r--r--config.mak.uname151
1 files changed, 54 insertions, 97 deletions
diff --git a/config.mak.uname b/config.mak.uname
index b12d4e168a..1691c6ae6e 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -48,18 +48,18 @@ ifeq ($(uname_S),OSF1)
endif
ifeq ($(uname_S),Linux)
HAVE_ALLOCA_H = YesPlease
+ # override in config.mak if you have glibc >= 2.38
NO_STRLCPY = YesPlease
+ CSPRNG_METHOD = getrandom
HAVE_PATHS_H = YesPlease
LIBC_CONTAINS_LIBINTL = YesPlease
HAVE_DEV_TTY = YesPlease
HAVE_CLOCK_GETTIME = YesPlease
HAVE_CLOCK_MONOTONIC = YesPlease
- # -lrt is needed for clock_gettime on glibc <= 2.16
- NEEDS_LIBRT = YesPlease
HAVE_SYNC_FILE_RANGE = YesPlease
HAVE_GETDELIM = YesPlease
FREAD_READS_DIRECTORIES = UnfortunatelyYes
- BASIC_CFLAGS += -DHAVE_SYSINFO
+ HAVE_SYSINFO = YesPlease
PROCFS_EXECUTABLE_PATH = /proc/self/exe
HAVE_PLATFORM_PROCINFO = YesPlease
COMPAT_OBJS += compat/linux/procinfo.o
@@ -190,9 +190,6 @@ ifeq ($(uname_S),SunOS)
SHELL_PATH = /bin/bash
SANE_TOOL_PATH = /usr/xpg6/bin:/usr/xpg4/bin
HAVE_ALLOCA_H = YesPlease
- NO_STRCASESTR = YesPlease
- NO_MEMMEM = YesPlease
- NO_MKDTEMP = YesPlease
NO_REGEX = YesPlease
NO_MSGFMT_EXTENDED_OPTIONS = YesPlease
HAVE_DEV_TTY = YesPlease
@@ -202,7 +199,10 @@ ifeq ($(uname_S),SunOS)
NO_IPV6 = YesPlease
NO_SOCKADDR_STORAGE = YesPlease
NO_UNSETENV = YesPlease
+ NO_MKDTEMP = YesPlease
+ NO_MEMMEM = YesPlease
NO_SETENV = YesPlease
+ NO_STRCASESTR = YesPlease
NO_STRLCPY = YesPlease
NO_STRTOUMAX = YesPlease
GIT_TEST_CMP = cmp
@@ -212,23 +212,45 @@ ifeq ($(uname_S),SunOS)
NO_IPV6 = YesPlease
NO_SOCKADDR_STORAGE = YesPlease
NO_UNSETENV = YesPlease
+ NO_MKDTEMP = YesPlease
+ NO_MEMMEM = YesPlease
NO_SETENV = YesPlease
+ NO_STRCASESTR = YesPlease
NO_STRLCPY = YesPlease
NO_STRTOUMAX = YesPlease
GIT_TEST_CMP = cmp
endif
ifeq ($(uname_R),5.8)
NO_UNSETENV = YesPlease
+ NO_MKDTEMP = YesPlease
+ NO_MEMMEM = YesPlease
NO_SETENV = YesPlease
+ NO_STRCASESTR = YesPlease
NO_STRTOUMAX = YesPlease
GIT_TEST_CMP = cmp
endif
ifeq ($(uname_R),5.9)
NO_UNSETENV = YesPlease
+ NO_MKDTEMP = YesPlease
+ NO_MEMMEM = YesPlease
NO_SETENV = YesPlease
+ NO_STRCASESTR = YesPlease
NO_STRTOUMAX = YesPlease
GIT_TEST_CMP = cmp
endif
+ ifeq ($(uname_R),5.10)
+ NO_UNSETENV = YesPlease
+ NO_MKDTEMP = YesPlease
+ NO_MEMMEM = YesPlease
+ NO_SETENV = YesPlease
+ NO_STRCASESTR = YesPlease
+ GIT_TEST_CMP = cmp
+ endif
+ ifeq ($(uname_R),5.11)
+ NO_UNSETENV = YesPlease
+ NO_SETENV = YesPlease
+ GIT_TEST_CMP = cmp
+ endif
INSTALL = /usr/ucb/install
TAR = gtar
BASIC_CFLAGS += -D__EXTENSIONS__ -D__sun__
@@ -246,9 +268,16 @@ ifeq ($(uname_O),Cygwin)
# Try commenting this out if you suspect MMAP is more efficient
NO_MMAP = YesPlease
else
- NO_REGEX = UnfortunatelyYes
+ ifeq ($(shell expr "$(uname_R)" : '1\.7\.'),4)
+ NO_REGEX = UnfortunatelyYes
+ endif
endif
HAVE_DEV_TTY = YesPlease
+ HAVE_GETDELIM = YesPlease
+ HAVE_CLOCK_GETTIME = YesPlease
+ HAVE_CLOCK_MONOTONIC = YesPlease
+ HAVE_SYSINFO = YesPlease
+ CSPRNG_METHOD = arc4random
HAVE_ALLOCA_H = YesPlease
NEEDS_LIBICONV = YesPlease
NO_FAST_WORKING_DIRECTORY = UnfortunatelyYes
@@ -273,16 +302,13 @@ ifeq ($(uname_S),FreeBSD)
ifeq ($(firstword $(subst -, ,$(uname_R))),10.1)
OLD_ICONV = YesPlease
endif
- NO_MEMMEM = YesPlease
+ ifeq ($(shell v=$(uname_R) && test $${v%%.*} -lt 12 && echo 1),1)
+ NO_MEMMEM = UnfortunatelyYes
+ endif
BASIC_CFLAGS += -I/usr/local/include
BASIC_LDFLAGS += -L/usr/local/lib
DIR_HAS_BSD_GROUP_SEMANTICS = YesPlease
USE_ST_TIMESPEC = YesPlease
- ifeq ($(shell expr "$(uname_R)" : '4\.'),2)
- PTHREAD_LIBS = -pthread
- NO_UINTMAX_T = YesPlease
- NO_STRTOUMAX = YesPlease
- endif
PYTHON_PATH = /usr/local/bin/python
PERL_PATH = /usr/local/bin/perl
HAVE_PATHS_H = YesPlease
@@ -294,17 +320,14 @@ ifeq ($(uname_S),FreeBSD)
FILENO_IS_A_MACRO = UnfortunatelyYes
endif
ifeq ($(uname_S),OpenBSD)
- NO_STRCASESTR = YesPlease
- NO_MEMMEM = YesPlease
+ DIR_HAS_BSD_GROUP_SEMANTICS = YesPlease
USE_ST_TIMESPEC = YesPlease
NEEDS_LIBICONV = YesPlease
BASIC_CFLAGS += -I/usr/local/include
BASIC_LDFLAGS += -L/usr/local/lib
HAVE_PATHS_H = YesPlease
HAVE_BSD_SYSCTL = YesPlease
- HAVE_BSD_KERN_PROC_SYSCTL = YesPlease
CSPRNG_METHOD = arc4random
- PROCFS_EXECUTABLE_PATH = /proc/curproc/file
FREAD_READS_DIRECTORIES = UnfortunatelyYes
FILENO_IS_A_MACRO = UnfortunatelyYes
endif
@@ -432,7 +455,11 @@ ifeq ($(uname_S),Windows)
ifeq (MINGW32,$(MSYSTEM))
prefix = /mingw32
else
- prefix = /mingw64
+ ifeq (CLANGARM64,$(MSYSTEM))
+ prefix = /clangarm64
+ else
+ prefix = /mingw64
+ endif
endif
# Prepend MSVC 64-bit tool-chain to PATH.
#
@@ -485,7 +512,7 @@ ifeq ($(uname_S),Windows)
NO_POSIX_GOODIES = UnfortunatelyYes
NATIVE_CRLF = YesPlease
DEFAULT_HELP_FORMAT = html
-ifeq (/mingw64,$(subst 32,64,$(prefix)))
+ifeq (/mingw64,$(subst 32,64,$(subst clangarm,mingw,$(prefix))))
# Move system config into top-level /etc/
ETC_GITCONFIG = ../etc/gitconfig
ETC_GITATTRIBUTES = ../etc/gitattributes
@@ -724,6 +751,10 @@ ifeq ($(uname_S),MINGW)
prefix = /mingw64
HOST_CPU = x86_64
BASIC_LDFLAGS += -Wl,--pic-executable,-e,mainCRTStartup
+ else ifeq (CLANGARM64,$(MSYSTEM))
+ prefix = /clangarm64
+ HOST_CPU = aarch64
+ BASIC_LDFLAGS += -Wl,--pic-executable,-e,mainCRTStartup
else
COMPAT_CFLAGS += -D_USE_32BIT_TIME_T
BASIC_LDFLAGS += -Wl,--large-address-aware
@@ -738,8 +769,10 @@ ifeq ($(uname_S),MINGW)
HAVE_LIBCHARSET_H = YesPlease
USE_GETTEXT_SCHEME = fallthrough
USE_LIBPCRE = YesPlease
- USE_NED_ALLOCATOR = YesPlease
- ifeq (/mingw64,$(subst 32,64,$(prefix)))
+ ifneq (CLANGARM64,$(MSYSTEM))
+ USE_NED_ALLOCATOR = YesPlease
+ endif
+ ifeq (/mingw64,$(subst 32,64,$(subst clangarm,mingw,$(prefix))))
# Move system config into top-level /etc/
ETC_GITCONFIG = ../etc/gitconfig
ETC_GITATTRIBUTES = ../etc/gitattributes
@@ -759,79 +792,3 @@ ifeq ($(uname_S),QNX)
NO_STRCASESTR = YesPlease
NO_STRLCPY = YesPlease
endif
-
-vcxproj:
- # Require clean work tree
- git update-index -q --refresh && \
- git diff-files --quiet && \
- git diff-index --cached --quiet HEAD --
-
- # Make .vcxproj files and add them
- perl contrib/buildsystems/generate -g Vcxproj
- git add -f git.sln {*,*/lib,t/helper/*}/*.vcxproj
-
- # Generate the LinkOrCopyBuiltins.targets and LinkOrCopyRemoteHttp.targets file
- (echo '<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">' && \
- echo ' <Target Name="CopyBuiltins_AfterBuild" AfterTargets="AfterBuild">' && \
- for name in $(BUILT_INS);\
- do \
- echo ' <Copy SourceFiles="$$(OutDir)\git.exe" DestinationFiles="$$(OutDir)\'"$$name"'" SkipUnchangedFiles="true" UseHardlinksIfPossible="true" />'; \
- done && \
- echo ' </Target>' && \
- echo '</Project>') >git/LinkOrCopyBuiltins.targets
- (echo '<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">' && \
- echo ' <Target Name="CopyBuiltins_AfterBuild" AfterTargets="AfterBuild">' && \
- for name in $(REMOTE_CURL_ALIASES); \
- do \
- echo ' <Copy SourceFiles="$$(OutDir)\'"$(REMOTE_CURL_PRIMARY)"'" DestinationFiles="$$(OutDir)\'"$$name"'" SkipUnchangedFiles="true" UseHardlinksIfPossible="true" />'; \
- done && \
- echo ' </Target>' && \
- echo '</Project>') >git-remote-http/LinkOrCopyRemoteHttp.targets
- git add -f git/LinkOrCopyBuiltins.targets git-remote-http/LinkOrCopyRemoteHttp.targets
-
- # Add generated headers
- $(MAKE) MSVC=1 SKIP_VCPKG=1 prefix=/mingw64 $(GENERATED_H)
- git add -f $(GENERATED_H)
-
- # Add scripts
- rm -f perl/perl.mak
- $(MAKE) MSVC=1 SKIP_VCPKG=1 prefix=/mingw64 $(SCRIPT_LIB) $(SCRIPTS)
- # Strip out the sane tool path, needed only for building
- sed -i '/^git_broken_path_fix ".*/d' git-sh-setup
- git add -f $(SCRIPT_LIB) $(SCRIPTS)
-
- # Add Perl module
- $(MAKE) $(LIB_PERL_GEN)
- git add -f perl/build
-
- # Add bin-wrappers, for testing
- rm -rf bin-wrappers/
- $(MAKE) MSVC=1 SKIP_VCPKG=1 prefix=/mingw64 $(test_bindir_programs)
- # Ensure that the GIT_EXEC_PATH is a Unix-y one, and that the absolute
- # path of the repository is not hard-coded (GIT_EXEC_PATH will be set
- # by test-lib.sh according to the current setup)
- sed -i -e 's/^\(GIT_EXEC_PATH\)=.*/test -n "$${\1##*:*}" ||\
- \1="$$(cygpath -u "$$\1")"/' \
- -e "s|'$$(pwd)|\"\$$GIT_EXEC_PATH\"'|g" bin-wrappers/*
- # Ensure that test-* helpers find the .dll files copied to top-level
- sed -i 's|^PATH=.*|&:"$$GIT_EXEC_PATH"|' bin-wrappers/test-*
- # We do not want to force hard-linking builtins
- sed -i 's|\(git\)-\([-a-z]*\)\.exe"|\1.exe" \2|g' \
- bin-wrappers/git-{receive-pack,upload-archive}
- git add -f $(test_bindir_programs)
-
- # Add templates
- $(MAKE) -C templates
- git add -f templates/boilerplates.made templates/blt/
-
- # Add the translated messages
- make MSVC=1 SKIP_VCPKG=1 prefix=/mingw64 $(MOFILES)
- git add -f $(MOFILES)
-
- # Add build options
- $(MAKE) MSVC=1 SKIP_VCPKG=1 prefix=/mingw64 GIT-BUILD-OPTIONS
- git add -f GIT-BUILD-OPTIONS
-
- # Commit the whole shebang
- git commit -m "Generate Visual Studio solution" \
- -m "Auto-generated by \`$(MAKE)$(MAKEFLAGS) $@\`"