0.9.9.12:
[sbcl.git] / src / runtime / ppc-darwin-os.c
index 6b3ab7e..1a841b6 100644 (file)
 
 #include "sbcl.h"
 #include "globals.h"
+#include "runtime.h"
 #include <signal.h>
 #include <ucontext.h>
+#include <limits.h>
+#include <mach-o/dyld.h>
 #include "bsd-os.h"
 
 os_context_register_t   *
@@ -110,3 +113,17 @@ os_flush_icache(os_vm_address_t address, os_vm_size_t length)
     /* see ppc-arch.c */
     ppc_flush_icache(address,length);
 }
+
+char *
+os_get_runtime_executable_path()
+{
+    char path[PATH_MAX + 1];
+    uint32_t size = sizeof(path);
+
+    if (_NSGetExecutablePath(path, &size) == -1)
+        return NULL;
+    else
+        path[size] = '\0';
+
+    return copied_string(path);
+}