author | Michael Krelin <hacker@klever.net> | 2008-07-18 22:59:53 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2008-07-18 22:59:53 (UTC) |
commit | d1d3203e351e51cf905b3166f88c1a4d72140555 (patch) (unidiff) | |
tree | 92a89f798591faacb3c8d2f3543971cb98b0b71e | |
parent | 04fb190243442e83349f129b523ab747e58100bf (diff) | |
download | napkin-d1d3203e351e51cf905b3166f88c1a4d72140555.zip napkin-d1d3203e351e51cf905b3166f88c1a4d72140555.tar.gz napkin-d1d3203e351e51cf905b3166f88c1a4d72140555.tar.bz2 |
make it build on Mac OS X with macports
Signed-off-by: Michael Krelin <hacker@klever.net>
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | src/db.cc | 19 |
2 files changed, 23 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 3ca0b4e..fbf373b 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -10,6 +10,10 @@ AC_PROG_CC | |||
10 | AC_PROG_LIBTOOL | 10 | AC_PROG_LIBTOOL |
11 | PKG_PROG_PKG_CONFIG | 11 | PKG_PROG_PKG_CONFIG |
12 | 12 | ||
13 | onegetcwd=false | ||
14 | AC_CHECK_FUNCS([get_current_dir_name getcwd],[onegetcwd=true;break]) | ||
15 | $onegetcwd || AC_MSG_ERROR([no function to get current directory found. weird.]) | ||
16 | |||
13 | AC_HEADER_STDC | 17 | AC_HEADER_STDC |
14 | 18 | ||
15 | AC_PATH_PROG([XSLTPROC],[xsltproc],[true]) | 19 | AC_PATH_PROG([XSLTPROC],[xsltproc],[true]) |
@@ -17,11 +17,30 @@ namespace napkin { | |||
17 | datadir = h; | 17 | datadir = h; |
18 | datadir += "/."PACKAGE_NAME"/"; | 18 | datadir += "/."PACKAGE_NAME"/"; |
19 | }else{ | 19 | }else{ |
20 | #if defined(HAVE_GET_CURRENT_DIR_NAME) | ||
20 | char *cwd = get_current_dir_name(); | 21 | char *cwd = get_current_dir_name(); |
21 | if(!cwd) | 22 | if(!cwd) |
22 | throw napkin::exception("failed to get_current_dir_name()"); | 23 | throw napkin::exception("failed to get_current_dir_name()"); |
23 | datadir = cwd; | 24 | datadir = cwd; |
24 | free(cwd); | 25 | free(cwd); |
26 | #elif defined(HAVE_GETCWD) | ||
27 | { | ||
28 | char cwd[ | ||
29 | # if defined(MAXPATH) | ||
30 | MAXPATH | ||
31 | # elif defined(MAXPATHLEN) | ||
32 | MAXPATHLEN | ||
33 | # else /* maxpath */ | ||
34 | 512 | ||
35 | #endif /* maxpath */ | ||
36 | ]; | ||
37 | if(!getcwd(cwd,sizeof(cwd))) | ||
38 | throw napkin::exception("failed to getcwd()"); | ||
39 | datadir = cwd; | ||
40 | } | ||
41 | #else /* get cwd */ | ||
42 | # error dunno how to get current workdir | ||
43 | #endif /* get cwd */ | ||
25 | datadir += "/."PACKAGE_NAME"/"; | 44 | datadir += "/."PACKAGE_NAME"/"; |
26 | } | 45 | } |
27 | if(access(datadir.c_str(),R_OK|W_OK) | 46 | if(access(datadir.c_str(),R_OK|W_OK) |