# HG changeset patch # User Thinker K.F. Li # Date 1283824152 -28800 # Node ID bb756f67f2646ab0042f641460bf57c8901f7242 start cospy diff -r 000000000000 -r bb756f67f264 src/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/Makefile Tue Sep 07 09:49:12 2010 +0800 @@ -0,0 +1,13 @@ +GCC=/home/thinker/progm/gcc-4.5.1/dist/bin/gcc +PLUGIN_SOURCE_FILES= testplugin.c +PLUGIN_OBJECT_FILES= $(patsubst %.c,%.o,$(PLUGIN_SOURCE_FILES)) +GCCPLUGINS_DIR:= $(shell $(GCC) -print-file-name=plugin) +CFLAGS+= -I$(GCCPLUGINS_DIR)/include -fPIC -O2 + +all: testplugin.so + +testplugin.so: $(PLUGIN_OBJECT_FILES) + $(GCC) -shared $^ -o $@ + +test: + $(GCC) -fplugin=`pwd`/testplugin.so $(CFLAGS) -c test.c diff -r 000000000000 -r bb756f67f264 src/test.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/test.c Tue Sep 07 09:49:12 2010 +0800 @@ -0,0 +1,7 @@ +#include + +int +main(int argc, const char *argv[]) { + printf("test\n"); + return 0; +} diff -r 000000000000 -r bb756f67f264 src/testplugin.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/testplugin.c Tue Sep 07 09:49:12 2010 +0800 @@ -0,0 +1,14 @@ +#include "gcc-plugin.h" +#include "plugin-version.h" +#include + +int plugin_is_GPL_compatible; + +int +plugin_init(struct plugin_name_args *plugin_info, + struct plugin_gcc_version *version) { + if (!plugin_default_version_check (version, &gcc_version)) + return 1; + printf("Initialize plugin %s\n", plugin_info->base_name); + return 0; +}