Search
lxdream.org :: lxdream/src/paths.c
lxdream 0.9.1
released Jun 29
Download Now
filename src/paths.c
changeset 866:86cd01c2b2d3
author nkeynes
date Thu Oct 30 23:56:59 2008 +0000 (15 years ago)
permissions -rw-r--r--
last change Add --enable-profiled configure option for convenience (and enable fastcall only on fully optimized builds)
file annotate diff log raw
nkeynes@866
     1
/**
nkeynes@866
     2
 * $Id: cocoaui.c 863 2008-09-06 05:21:57Z nkeynes $
nkeynes@866
     3
 *
nkeynes@866
     4
 * Wrappers for system-dependent functions (mainly path differences)
nkeynes@866
     5
 *
nkeynes@866
     6
 * Copyright (c) 2008 Nathan Keynes.
nkeynes@866
     7
 *
nkeynes@866
     8
 * This program is free software; you can redistribute it and/or modify
nkeynes@866
     9
 * it under the terms of the GNU General Public License as published by
nkeynes@866
    10
 * the Free Software Foundation; either version 2 of the License, or
nkeynes@866
    11
 * (at your option) any later version.
nkeynes@866
    12
 *
nkeynes@866
    13
 * This program is distributed in the hope that it will be useful,
nkeynes@866
    14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
nkeynes@866
    15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
nkeynes@866
    16
 * GNU General Public License for more details.
nkeynes@866
    17
 */
nkeynes@866
    18
nkeynes@866
    19
#include <string.h>
nkeynes@866
    20
nkeynes@866
    21
#include "lxdream.h"
nkeynes@866
    22
nkeynes@866
    23
/* Bundle builds need to use different paths from ordinary builds, since
nkeynes@866
    24
 * the message catalogs, default config, etc are all bundle-relative.
nkeynes@866
    25
 * Otherwise paths use the standard unix install paths
nkeynes@866
    26
 */
nkeynes@866
    27
#ifdef OSX_BUNDLE
nkeynes@866
    28
nkeynes@866
    29
#include <AppKit/AppKit.h>
nkeynes@866
    30
nkeynes@866
    31
static char *bundle_resource_path = NULL;
nkeynes@866
    32
nkeynes@866
    33
static char *get_bundle_resource_path()
nkeynes@866
    34
{
nkeynes@866
    35
    if( bundle_resource_path == NULL ) {
nkeynes@866
    36
        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
nkeynes@866
    37
        NSString *resourcePath = [[NSBundle mainBundle] resourcePath];
nkeynes@866
    38
        bundle_resource_path = strdup([resourcePath UTF8String]);
nkeynes@866
    39
        [pool release];
nkeynes@866
    40
    }
nkeynes@866
    41
    return bundle_resource_path;    
nkeynes@866
    42
}
nkeynes@866
    43
nkeynes@866
    44
const char *get_sysconf_path()
nkeynes@866
    45
{
nkeynes@866
    46
    return get_bundle_resource_path();
nkeynes@866
    47
}
nkeynes@866
    48
nkeynes@866
    49
const char *get_locale_path()
nkeynes@866
    50
{
nkeynes@866
    51
    return get_bundle_resource_path();
nkeynes@866
    52
}
nkeynes@866
    53
nkeynes@866
    54
#else
nkeynes@866
    55
nkeynes@866
    56
const char *get_sysconf_path()
nkeynes@866
    57
{
nkeynes@866
    58
    return PACKAGE_CONF_DIR;
nkeynes@866
    59
}
nkeynes@866
    60
nkeynes@866
    61
const char *get_locale_path()
nkeynes@866
    62
{
nkeynes@866
    63
    return PACKAGE_LOCALE_DIR;
nkeynes@866
    64
}
nkeynes@866
    65
nkeynes@866
    66
#endif
.