/* */
/* */
/* */
-/* (C) 2000-2003 Ullrich von Bassewitz */
-/* Römerstrasse 52 */
-/* D-70794 Filderstadt */
-/* EMail: uz@cc65.org */
+/* (C) 2000-2010, Ullrich von Bassewitz */
+/* Roemerstrasse 52 */
+/* D-70794 Filderstadt */
+/* EMail: uz@cc65.org */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
-/* common */
-#include "searchpath.h"
-
/* cc65 */
#include "incpath.h"
/*****************************************************************************/
-/* Code */
+/* Data */
/*****************************************************************************/
-void AddIncludePath (const char* NewPath, unsigned Where)
-/* Add a new include path to the existing one */
-{
- AddSearchPath (NewPath, Where);
-}
+SearchPath* SysIncSearchPath; /* System include path */
+SearchPath* UsrIncSearchPath; /* User include path */
+
+
+
+/*****************************************************************************/
+/* Code */
+/*****************************************************************************/
-char* FindInclude (const char* Name, unsigned Where)
-/* Find an include file. Return a pointer to a malloced area that contains
- * the complete path, if found, return 0 otherwise.
- */
+void ForgetAllIncludePaths (void)
+/* Remove all include search paths. */
{
- return SearchFile (Name, Where);
+ ForgetSearchPath (SysIncSearchPath);
+ ForgetSearchPath (UsrIncSearchPath);
}
void InitIncludePaths (void)
/* Initialize the include path search list */
{
- /* Add some standard paths to the include search path */
- AddSearchPath ("", INC_USER); /* Current directory */
- AddSearchPath ("include", INC_SYS);
+ /* Create the search path lists */
+ SysIncSearchPath = NewSearchPath ();
+ UsrIncSearchPath = NewSearchPath ();
+
+ /* Add the current path to the user search path list */
+ AddSearchPath (UsrIncSearchPath, "");
+
+ /* Add some compiled in search paths if defined at compile time */
#ifdef CC65_INC
- AddSearchPath (CC65_INC, INC_SYS);
-#else
- AddSearchPath ("/usr/lib/cc65/include", INC_SYS);
+ AddSearchPath (SysIncSearchPath, CC65_INC);
#endif
- AddSearchPathFromEnv ("CC65_INC", INC_SYS | INC_USER);
+
+ /* Add specific paths from the environment */
+ AddSearchPathFromEnv (SysIncSearchPath, "CC65_INC");
+ AddSearchPathFromEnv (UsrIncSearchPath, "CC65_INC");
+
+ /* Add paths relative to a main directory defined in an env var */
+ AddSubSearchPathFromEnv (SysIncSearchPath, "CC65_HOME", "include");
}