summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Ramsay Jones <ramsay@ramsay1.demon.co.uk>2009-11-07 20:10:31 +0000
committerLibravatar Junio C Hamano <gitster@pobox.com>2009-11-08 17:59:12 -0800
commitb1b952043f8f909649fdf053c371109c84f9cf56 (patch)
tree3d99e5d5efd0ddf760b4ccc646444e95c9093189
parentMakefile: keep MSVC and Cygwin configuration separate (diff)
downloadtgif-b1b952043f8f909649fdf053c371109c84f9cf56.tar.xz
MSVC: Add support for building with NO_MMAP
When the NO_MMAP build variable is set, the msvc linker complains: error LNK2001: unresolved external symbol _getpagesize The msvc libraries do not define the getpagesize() function, so we move the mingw_getpagesize() implementation from the conditionally built win32mmap.c file to mingw.c. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--compat/mingw.c12
-rw-r--r--compat/mingw.h2
-rw-r--r--compat/win32mmap.c12
3 files changed, 13 insertions, 13 deletions
diff --git a/compat/mingw.c b/compat/mingw.c
index 6b5b5b2c70..15fe33eaa0 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -1000,6 +1000,18 @@ repeat:
return -1;
}
+/*
+ * Note that this doesn't return the actual pagesize, but
+ * the allocation granularity. If future Windows specific git code
+ * needs the real getpagesize function, we need to find another solution.
+ */
+int mingw_getpagesize(void)
+{
+ SYSTEM_INFO si;
+ GetSystemInfo(&si);
+ return si.dwAllocationGranularity;
+}
+
struct passwd *getpwuid(int uid)
{
static char user_name[100];
diff --git a/compat/mingw.h b/compat/mingw.h
index 5b5258bceb..26c402733e 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -166,7 +166,7 @@ int mingw_connect(int sockfd, struct sockaddr *sa, size_t sz);
int mingw_rename(const char*, const char*);
#define rename mingw_rename
-#ifdef USE_WIN32_MMAP
+#if defined(USE_WIN32_MMAP) || defined(_MSC_VER)
int mingw_getpagesize(void);
#define getpagesize mingw_getpagesize
#endif
diff --git a/compat/win32mmap.c b/compat/win32mmap.c
index 779d796cd5..1c5a14922f 100644
--- a/compat/win32mmap.c
+++ b/compat/win32mmap.c
@@ -1,17 +1,5 @@
#include "../git-compat-util.h"
-/*
- * Note that this doesn't return the actual pagesize, but
- * the allocation granularity. If future Windows specific git code
- * needs the real getpagesize function, we need to find another solution.
- */
-int mingw_getpagesize(void)
-{
- SYSTEM_INFO si;
- GetSystemInfo(&si);
- return si.dwAllocationGranularity;
-}
-
void *git_mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset)
{
HANDLE hmap;