diff --git a/include/clang-c/Index.h b/include/clang-c/Index.h new file mode 100644 index 0000000000000000000000000000000000000000..eb1cbd156d6411db4ab406efd35792f29443244d --- /dev/null +++ b/include/clang-c/Index.h @@ -0,0 +1,33 @@ +/*===-- clang-c/Index.h - Indexing Public C Interface -------------*- C -*-===*\ +|* *| +|* The LLVM Compiler Infrastructure *| +|* *| +|* This file is distributed under the University of Illinois Open Source *| +|* License. See LICENSE.TXT for details. *| +|* *| +|*===----------------------------------------------------------------------===*| +|* *| +|* This header provides a public inferface to a Clang library for extracting *| +|* high-level symbol information from source files without exposing the full *| +|* Clang C++ API. *| +|* *| +\*===----------------------------------------------------------------------===*/ + +#ifndef CLANG_C_INDEX_H +#define CLANG_C_INDEX_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Dummy function that serves as an entrance to the library. + * To be replaced with specific functions. + */ +void clang_index_dummy(void); + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/tools/CIndex/CIndex.cpp b/tools/CIndex/CIndex.cpp new file mode 100644 index 0000000000000000000000000000000000000000..8eb45452c9709c17c8e38ab886ab1e81bfa770b6 --- /dev/null +++ b/tools/CIndex/CIndex.cpp @@ -0,0 +1,17 @@ +//===- CIndex.cpp - Clang-C Source Indexing Library -----------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file implements the Clang-C Source Indexing library. +// +//===----------------------------------------------------------------------===// + +#include "clang-c/Index.h" + +void clang_index_dummy(void) {} + diff --git a/tools/CIndex/CIndex.exports b/tools/CIndex/CIndex.exports new file mode 100644 index 0000000000000000000000000000000000000000..5016571e6cf21b409f3a5361c748d6e8d0a16c4d --- /dev/null +++ b/tools/CIndex/CIndex.exports @@ -0,0 +1 @@ +_clang_index_dummy diff --git a/tools/CIndex/Makefile b/tools/CIndex/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..1181d884d9289709fabc66611de21aa13d91b2d1 --- /dev/null +++ b/tools/CIndex/Makefile @@ -0,0 +1,54 @@ +##===- tools/CIndex/Makefile -------------------------------*- Makefile -*-===## +# +# The LLVM Compiler Infrastructure +# +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. +# +##===----------------------------------------------------------------------===## + +LEVEL = ../../../.. +LIBRARYNAME = CIndex + +CPPFLAGS += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include +CXXFLAGS = -fno-rtti + +# Include this here so we can get the configuration of the targets +# that have been configured for construction. We have to do this +# early so we can set up LINK_COMPONENTS before including Makefile.rules +include $(LEVEL)/Makefile.config + +LINK_LIBS_IN_SHARED = 1 +SHARED_LIBRARY = 1 + +LINK_COMPONENTS := bitreader +USEDLIBS = clangIndex.a clangAST.a clangLex.a clangBasic.a + +include $(LEVEL)/Makefile.common + +##===----------------------------------------------------------------------===## +# FIXME: This is copied from the 'lto' makefile. Should we share this? +##===----------------------------------------------------------------------===## + +ifeq ($(HOST_OS),Darwin) + # set dylib internal version number to llvmCore submission number + ifdef LLVM_SUBMIT_VERSION + LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-current_version \ + -Wl,$(LLVM_SUBMIT_VERSION).$(LLVM_SUBMIT_SUBVERSION) \ + -Wl,-compatibility_version -Wl,1 + endif + # extra options to override libtool defaults + LLVMLibsOptions := $(LLVMLibsOptions) \ + -avoid-version \ + -Wl,-exported_symbols_list -Wl,$(PROJ_SRC_DIR)/CIndex.exports \ + -Wl,-dead_strip \ + -Wl,-seg1addr -Wl,0xE0000000 + + # Mac OS X 10.4 and earlier tools do not allow a second -install_name on command line + DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/') + ifneq ($(DARWIN_VERS),8) + LLVMLibsOptions := $(LLVMLibsOptions) \ + -no-undefined -Wl,-install_name \ + -Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)" + endif +endif diff --git a/tools/Makefile b/tools/Makefile index 8cc0495faac14b8cde11194edef052f91823c3cf..3ee73ca2827551c276b3abf42f40609330b9ceaa 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -8,6 +8,6 @@ ##===----------------------------------------------------------------------===## LEVEL := ../../.. -DIRS := clang-cc driver index-test wpa +DIRS := clang-cc driver index-test wpa CIndex include $(LEVEL)/Makefile.common