sourcebuild.texi: Document install-plugin target.
authorTaras Glek <tglek@mozilla.com>
Tue, 14 Jul 2009 22:25:23 +0000 (22:25 +0000)
committerDiego Novillo <dnovillo@gcc.gnu.org>
Tue, 14 Jul 2009 22:25:23 +0000 (18:25 -0400)
2009-07-14  Taras Glek  <tglek@mozilla.com>
    Rafael Espindola  <espindola@google.com>

* doc/sourcebuild.texi: Document install-plugin target.
* configure.ac: Added install-plugin target to language makefiles.
* configure: Regenerate.
* Makefile.in: (install-plugin): Install more headers,
depend on lang.install-plugin.

ada/ChangeLog

* gcc-interface/Make-lang.in (ada.install-plugin): New target for
installing plugin headers.

cp/ChangeLog

* Make-lang.in: Added CP_PLUGIN_HEADERS and
c.install-target to export cp-tree.h cxx-pretty-print.h
name-lookup.h headers for plugins.

fortran/ChangeLog

* Make-lang.in (fortran.install-plugin): New target for
installing plugin headers.

java/ChangeLog

* Make-lang.in (java.install-plugin): New target for
installing plugin headers.

objc/ChangeLog

* Make-lang.in (objc.install-plugin): New target for
installing plugin headers.

objcp/ChangeLog

* Make-lang.in (obj-c.install-plugin): New target for
installing plugin headers.

Co-Authored-By: Rafael Avila de Espindola <espindola@google.com>
From-SVN: r149648

21 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/ada/ChangeLog
gcc/ada/gcc-interface/Make-lang.in
gcc/configure
gcc/configure.ac
gcc/cp/ChangeLog
gcc/cp/Make-lang.in
gcc/doc/sourcebuild.texi
gcc/fortran/ChangeLog
gcc/fortran/Make-lang.in
gcc/java/ChangeLog
gcc/java/Make-lang.in
gcc/objc/ChangeLog
gcc/objc/Make-lang.in
gcc/objcp/ChangeLog
gcc/objcp/Make-lang.in
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/plugin/header-plugin-test.C [new file with mode: 0644]
gcc/testsuite/g++.dg/plugin/header_plugin.c [new file with mode: 0644]
gcc/testsuite/g++.dg/plugin/plugin.exp

index 44e90cb..e788bed 100644 (file)
@@ -1,3 +1,12 @@
+2009-07-14  Taras Glek  <tglek@mozilla.com>
+           Rafael Espindola  <espindola@google.com>
+
+       * doc/sourcebuild.texi: Document install-plugin target.
+       * configure.ac: Added install-plugin target to language makefiles.
+       * configure: Regenerate.
+       * Makefile.in: (install-plugin): Install more headers,
+       depend on lang.install-plugin.
+
 2009-07-15  Manuel López-Ibáñez  <manu@gcc.gnu.org>
 
        * tree-vrp.c (vrp_evaluate_conditional): Mark strings for
index 9567dfe..11a4bcb 100644 (file)
@@ -4079,10 +4079,11 @@ PLUGIN_HEADERS = $(TREE_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
   $(GGC_H) $(TREE_DUMP_H) $(PRETTY_PRINT_H) \
   $(tm_file_list) $(tm_include_list) $(tm_p_file_list) $(tm_p_include_list) \
   $(host_xm_file_list) $(host_xm_include_list) $(xm_include_list) \
-  intl.h $(PLUGIN_VERSION_H)
+  intl.h $(PLUGIN_VERSION_H) $(DIAGNOSTIC_H) $(C_COMMON_H) $(C_PRETTY_PRINT_H) \
+  tree-iterator.h $(PLUGIN_H) $(TREE_FLOW_H) langhooks.h
 
 # Install the headers needed to build a plugin.
-install-plugin: installdirs
+install-plugin: installdirs lang.install-plugin
 # We keep the directory structure for files in config and .def files. All
 # other files are flattened to a single directory.
        $(mkinstalldirs) $(DESTDIR)$(plugin_includedir)
index 5d888c0..a3162c2 100644 (file)
@@ -1,3 +1,9 @@
+2009-07-14  Taras Glek  <tglek@mozilla.com>
+           Rafael Espindola  <espindola@google.com>
+
+       * gcc-interface/Make-lang.in (ada.install-plugin): New target for
+       installing plugin headers.
+
 2009-07-13  Ed Schonberg  <schonberg@adacore.com>
 
        * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb,
index c154be7..0f4082a 100644 (file)
@@ -714,6 +714,7 @@ install-gnatlib-obj:
        $(MAKE) -C ada $(FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) install-gnatlib-obj
 
 ada.install-man:
+ada.install-plugin:
 
 ada.uninstall:
        -$(RM) $(DESTDIR)$(bindir)/gnatbind$(exeext)
index 6948ca4..52c5cc7 100755 (executable)
@@ -28852,7 +28852,7 @@ touch Make-hooks
 target_list="all.cross start.encap rest.encap tags \
        install-common install-man install-info install-pdf dvi pdf \
        html uninstall info man srcextra srcman srcinfo \
-       mostlyclean clean distclean maintainer-clean"
+       mostlyclean clean distclean maintainer-clean install-plugin"
 
 for t in $target_list
 do
index f0a239b..f73fc16 100644 (file)
@@ -3942,7 +3942,7 @@ touch Make-hooks
 target_list="all.cross start.encap rest.encap tags \
        install-common install-man install-info install-pdf dvi pdf \
        html uninstall info man srcextra srcman srcinfo \
-       mostlyclean clean distclean maintainer-clean"
+       mostlyclean clean distclean maintainer-clean install-plugin"
 
 for t in $target_list
 do
index 3197057..4265fa9 100644 (file)
@@ -1,3 +1,10 @@
+2009-07-14  Taras Glek  <tglek@mozilla.com>
+           Rafael Espindola  <espindola@google.com>
+
+       * Make-lang.in: Added CP_PLUGIN_HEADERS and
+       c.install-target to export cp-tree.h cxx-pretty-print.h
+       name-lookup.h headers for plugins.
+
 2009-07-14  Jason Merrill  <jason@redhat.com>
 
        PR c++/37276
index 2c562f8..6bff698 100644 (file)
@@ -41,6 +41,7 @@ CXX_INSTALL_NAME := $(shell echo c++|sed '$(program_transform_name)')
 GXX_INSTALL_NAME := $(shell echo g++|sed '$(program_transform_name)')
 CXX_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo c++|sed '$(program_transform_name)')
 GXX_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo g++|sed '$(program_transform_name)')
+CP_PLUGIN_HEADERS := cp-tree.h cxx-pretty-print.h name-lookup.h
 
 #\f
 # Define the names for selecting c++ in LANGUAGES.
@@ -189,6 +190,19 @@ $(DESTDIR)$(man1dir)/$(GXX_INSTALL_NAME)$(man1ext): doc/g++.1 installdirs
        -$(INSTALL_DATA) $< $@
        -chmod a-x $@
 
+c++.install-plugin: installdirs
+# We keep the directory structure for files in config and .def files. All
+# other files are flattened to a single directory.
+       headers="$(CP_PLUGIN_HEADERS)"; \
+       for file in $$headers; do \
+         path=$(srcdir)/cp/$$file; \
+         dest=$(plugin_includedir)/cp/$$file; \
+         echo $(INSTALL_DATA) $$path $(DESTDIR)$$dest; \
+         dir=`dirname $$dest`; \
+         $(mkinstalldirs) $(DESTDIR)$$dir; \
+         $(INSTALL_DATA) $$path $(DESTDIR)$$dest; \
+       done
+
 c++.uninstall:
        -rm -rf $(DESTDIR)$(bindir)/$(CXX_INSTALL_NAME)$(exeext)
        -rm -rf $(DESTDIR)$(bindir)/$(GXX_INSTALL_NAME)$(exeext)
index e437848..22b27e7 100644 (file)
@@ -615,6 +615,8 @@ that should be installed.
 @item install-man
 Install man pages for the front end.  This target should ignore
 errors.
+@item install-plugin
+Install headers needed for plugins.
 @item srcextra
 Copies its dependencies into the source directory.  This generally should
 be used for generated files such as Bison output files which are not
index 19b201d..aaf2c88 100644 (file)
@@ -1,3 +1,9 @@
+2009-07-14  Taras Glek  <tglek@mozilla.com>
+           Rafael Espindola  <espindola@google.com>
+
+       * Make-lang.in (fortran.install-plugin): New target for
+       installing plugin headers.
+
 2009-07-13  H.J. Lu  <hongjiu.lu@intel.com>
 
        * module.c (mio_symbol): Remove the unused variable, formal.
index 0ac9bb2..38041f0 100644 (file)
@@ -234,6 +234,8 @@ fortran.install-common: install-finclude-dir installdirs
          fi ; \
        fi
 
+fortran.install-plugin:
+
 fortran.install-info: $(DESTDIR)$(infodir)/gfortran.info
 
 fortran.install-man: $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext)
index 9f90f53..9e7e5f5 100644 (file)
@@ -1,3 +1,9 @@
+2009-07-14  Taras Glek  <tglek@mozilla.com>
+           Rafael Espindola  <espindola@google.com>
+
+       * Make-lang.in (java.install-plugin): New target for
+       installing plugin headers.
+
 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
 
        * class.c: Replace %J by an explicit location. Update all calls.
index 263ddc3..094e5e1 100644 (file)
@@ -180,6 +180,7 @@ java.install-common: installdirs
           fi ; \
        done
 
+java.install-plugin:
 java.install-man:
 
 java.uninstall:
index 00475c1..13d537e 100644 (file)
@@ -1,3 +1,9 @@
+2009-07-14  Taras Glek  <tglek@mozilla.com>
+           Rafael Espindola  <espindola@google.com>
+
+       * Make-lang.in (objc.install-plugin): New target for
+       installing plugin headers.
+
 2009-07-07  Manuel López-Ibáñez  <manu@gcc.gnu.org>
 
        * objc-act.c (next_sjlj_build_catch_list): Replace EXPR_LOCUS by
index bfe8a84..fad506b 100644 (file)
@@ -98,6 +98,7 @@ objc.html:
 objc.man:
 objc.srcinfo:
 objc.srcman:
+objc.install-plugin:
 
 objc.tags: force
        cd $(srcdir)/objc; etags -o TAGS.sub *.c *.h; \
index 526830f..a19627c 100644 (file)
@@ -1,3 +1,9 @@
+2009-07-14  Taras Glek  <tglek@mozilla.com>
+           Rafael Espindola  <espindola@google.com>
+
+       * Make-lang.in (obj-c.install-plugin): New target for
+       installing plugin headers.
+
 2009-06-19  Ian Lance Taylor  <iant@google.com>
 
        * objcp-decl.h (start_struct): Remove in_struct and struct_types
index 2b1b809..0f549d0 100644 (file)
@@ -107,6 +107,7 @@ obj-c++.html:
 obj-c++.srcinfo:
 obj-c++.srcextra:
 obj-c++.man:
+obj-c++.install-plugin:
 
 obj-c++.tags: force
        cd $(srcdir)/objcp; etags -o TAGS.sub *.y *.c *.h; \
index a279414..140bb9e 100644 (file)
@@ -1,3 +1,10 @@
+2009-07-14  Taras Glek  <tglek@mozilla.com>
+           Rafael Espindola  <espindola@google.com>
+
+       * g++.dg/plugin/header-plugin-test.C: New.
+       * g++.dg/plugin/header_plugin.c: New.
+       * g++.dg/plugin/plugin.exp: Update.
+
 2009-07-14  Uros Bizjak  <ubizjak@gmail.com>
 
        * gcc.target/i386/sse-recip-vec.c: Move arrays out of test
diff --git a/gcc/testsuite/g++.dg/plugin/header-plugin-test.C b/gcc/testsuite/g++.dg/plugin/header-plugin-test.C
new file mode 100644 (file)
index 0000000..bd6aff1
--- /dev/null
@@ -0,0 +1,3 @@
+// Test case for the dumb plugin.
+// { dg-do compile }
+
diff --git a/gcc/testsuite/g++.dg/plugin/header_plugin.c b/gcc/testsuite/g++.dg/plugin/header_plugin.c
new file mode 100644 (file)
index 0000000..a934030
--- /dev/null
@@ -0,0 +1,32 @@
+#include "gcc-plugin.h"
+#include <stdlib.h>
+#include "config.h"
+#include "system.h"
+#include "coretypes.h"
+#include "tree.h"
+#include "tree-pass.h"
+#include "intl.h"
+
+/* reqs */
+#include "tm.h"
+
+/* gcc/ headers. */
+#include "diagnostic.h"
+#include "c-common.h"
+#include "c-pretty-print.h"
+#include "tree-iterator.h"
+#include "plugin.h"
+#include "tree-flow.h"
+#include "langhooks.h"
+#include "cp/cp-tree.h"
+#include "cp/cxx-pretty-print.h"
+#include "cp/name-lookup.h"
+
+int plugin_is_GPL_compatible;
+
+int
+plugin_init (struct plugin_name_args *plugin_info,
+             struct plugin_gcc_version *version)
+{
+  return 0;
+}
index eb01998..4ba73e5 100644 (file)
@@ -49,7 +49,8 @@ load_lib plugin-support.exp
 set plugin_test_list [list \
     { attribute_plugin.c attribute_plugin-test-1.C } \
     { selfassign.c self-assign-test-1.C self-assign-test-2.C self-assign-test-3.C } \
-    { dumb_plugin.c dumb-plugin-test-1.C } ]
+    { dumb_plugin.c dumb-plugin-test-1.C } \
+    { header_plugin.c header-plugin-test.C } ]
 
 foreach plugin_test $plugin_test_list {
     # Replace each source file with its full-path name