summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott J. Goldman <scottjgo@gmail.com>2012-05-09 22:30:57 -0700
committerScott J. Goldman <scottjgo@gmail.com>2012-05-10 09:52:49 -0700
commitec42eafd4adea021d86c6fa2cbde92b87177bf3d (patch)
tree15350fc0a404028bc7946cbb8a06cde391a792e0
parenta9d9965b35710f865d77a13da1cf084d0c870b55 (diff)
downloadlibgit2-ec42eafd4adea021d86c6fa2cbde92b87177bf3d.tar.gz
Hook up Windows compat fnmatch() for Solaris
Since Solaris does not support some of the same flags as glibc fnmatch(), we just use the implementation we have for Windows. Now that it's no longer a windows-specific thing, I moved it into compat/ instead of win32/
-rw-r--r--CMakeLists.txt4
-rw-r--r--src/compat/fnmatch.c (renamed from src/win32/fnmatch.c)0
-rw-r--r--src/compat/fnmatch.h (renamed from src/win32/fnmatch.h)4
-rw-r--r--src/unix/posix.h8
-rw-r--r--src/win32/posix.h2
5 files changed, 12 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fbc222d5c..ff2514a2a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -97,7 +97,9 @@ FILE(GLOB SRC_H include/git2/*.h)
# On Windows use specific platform sources
IF (WIN32 AND NOT CYGWIN)
ADD_DEFINITIONS(-DWIN32 -D_DEBUG -D_WIN32_WINNT=0x0501)
- FILE(GLOB SRC src/*.c src/transports/*.c src/xdiff/*.c src/win32/*.c)
+ FILE(GLOB SRC src/*.c src/transports/*.c src/xdiff/*.c src/win32/*.c src/compat/*.c)
+ELSEIF (CMAKE_SYSTEM_NAME MATCHES "(Solaris|SunOS)")
+ FILE(GLOB SRC src/*.c src/transports/*.c src/xdiff/*.c src/unix/*.c src/compat/*.c)
ELSE()
FILE(GLOB SRC src/*.c src/transports/*.c src/xdiff/*.c src/unix/*.c)
ENDIF ()
diff --git a/src/win32/fnmatch.c b/src/compat/fnmatch.c
index 835d811bc..835d811bc 100644
--- a/src/win32/fnmatch.c
+++ b/src/compat/fnmatch.c
diff --git a/src/win32/fnmatch.h b/src/compat/fnmatch.h
index eb7c5f6f7..7faef09b3 100644
--- a/src/win32/fnmatch.h
+++ b/src/compat/fnmatch.h
@@ -4,8 +4,8 @@
* This file is part of libgit2, distributed under the GNU GPL v2 with
* a Linking Exception. For full terms see the included COPYING file.
*/
-#ifndef INCLUDE_fnmatch__w32_h__
-#define INCLUDE_fnmatch__w32_h__
+#ifndef INCLUDE_fnmatch__compat_h__
+#define INCLUDE_fnmatch__compat_h__
#include "common.h"
diff --git a/src/unix/posix.h b/src/unix/posix.h
index 9973acf30..6d0d0dfa6 100644
--- a/src/unix/posix.h
+++ b/src/unix/posix.h
@@ -7,7 +7,12 @@
#ifndef INCLUDE_posix__w32_h__
#define INCLUDE_posix__w32_h__
-#include <fnmatch.h>
+#ifndef __sun
+# include <fnmatch.h>
+# define p_fnmatch(p, s, f) fnmatch(p, s, f)
+#else
+# include "compat/fnmatch.h"
+#endif
#define p_lstat(p,b) lstat(p,b)
#define p_readlink(a, b, c) readlink(a, b, c)
@@ -16,7 +21,6 @@
#define p_mkdir(p,m) mkdir(p, m)
#define p_fsync(fd) fsync(fd)
#define p_realpath(p, po) realpath(p, po)
-#define p_fnmatch(p, s, f) fnmatch(p, s, f)
#define p_vsnprintf(b, c, f, a) vsnprintf(b, c, f, a)
#define p_snprintf(b, c, f, ...) snprintf(b, c, f, __VA_ARGS__)
#define p_mkstemp(p) mkstemp(p)
diff --git a/src/win32/posix.h b/src/win32/posix.h
index 2666fccb4..baa4a3b4e 100644
--- a/src/win32/posix.h
+++ b/src/win32/posix.h
@@ -8,7 +8,7 @@
#define INCLUDE_posix__w32_h__
#include "common.h"
-#include "fnmatch.h"
+#include "compat/fnmatch.h"
#include "utf-conv.h"
GIT_INLINE(int) p_link(const char *old, const char *new)