Hey,
As a first step of my GSOC project
(https://gcc.gnu.org/wiki/replacelibibertywithgnulib) I have imported
the gnulib library inside the gcc tree. I have created gnulib as a top
level directory which contains the necessary scripts to import the
modules. It also contains the necessary Makefile.in and configure.ac
files.
I have made the corresponding changes in the Makefile.def and
configure.ac files, adding gnulib both as a build and host library,
and subsequently regenerated the Makefile.in and configure files.

In order to show the setup works, I’ve replaced libiberty’s version by
obstack by gnulib’s. This was made possible by replacing the
corresponding header file and then including gnulib headers and gnulib
static library in the build path required to compile gcc files.
Also, in order to ensure that the setup works fine, I locally removed
obstack.[ch] from libiberty so that the setup uses the corresponding
files from gnulib

Used gdb’s scripts to import gnulib
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree;f=gdb/gnulib;h=cdf326774716ae427dc4fb47c9a410fcdf715563;hb=HEAD

Bootstrapped with multiple languages and multilib enabled for maximum coverage.
Regression tested on x86_64-apple-darwin15.5.0 and x86_64-linux




20-7-16 Ayush Goel <ayushgoel1...@gmail.com>

 Makefile.def: Added gnulib as build & host library and dependency of
all-gcc on gnulib
* Makefile.in: regenerated
* configure.ac: Added gnulib as build and host library
* configure: regenerated
* gcc/Makefile.in: Added path to gnulib static library (libgnu.a) and
gnulib header files
* gcc/doc/sourcebuild.texi: Added gnulib and how to use the update
script to update/import gnu lib modules
* gnulib: created directory
* gnulib/Makefile.in: new file
* gnulib/configure.ac: new file
* gnulib/update-gnulib.sh: script to import gnulib modules using gnulib-tool
* gnulib/import: created by update-gnulib.sh
* gnulib/import/Makefile.in: imported from gnulib
* gnulib/import/alignof.h: Imported from gnulib
* gnulib/import/exitfail.c: Imported from gnulib
* gnulib/import/exitfail.h: Imported from gnulib
* gnulib/import/extra: Imported from gnulib
* gnulib/import/extra/snippet: Imported from gnulib
* gnulib/import/extra/snippet/_Noreturn.h: Imported from gnulib
* gnulib/import/extra/snippet/arg-nonnull.h: Imported from gnulib
* gnulib/import/extra/snippet/c++defs.h: Imported from gnulib
* gnulib/import/extra/snippet/warn-on-use.h: Imported from gnulib
* gnulib/import/gettext.h: Imported from gnulib
* gnulib/import/m4: Imported from gnulib
* gnulib/import/m4/00gnulib.m4: Imported from gnulib
* gnulib/import/m4/absolute-header.m4: Imported from gnulib
* gnulib/import/m4/extern-inline.m4: Imported from gnulib
* gnulib/import/m4/gnulib-cache.m4: Imported from gnulib
* gnulib/import/m4/gnulib-common.m4: Imported from gnulib
* gnulib/import/m4/gnulib-comp.m4: Imported from gnulib
* gnulib/import/m4/gnulib-tool.m4: Imported from gnulib
* gnulib/import/m4/include_next.m4: Imported from gnulib
* gnulib/import/m4/longlong.m4: Imported from gnulib
* gnulib/import/m4/multiarch.m4: Imported from gnulib
* gnulib/import/m4/obstack.m4: Imported from gnulib
* gnulib/import/m4/off_t.m4: Imported from gnulib
* gnulib/import/m4/ssize_t.m4: Imported from gnulib
* gnulib/import/m4/stddef_h.m4: Imported from gnulib
* gnulib/import/m4/stdint.m4: Imported from gnulib
* gnulib/import/m4/stdlib_h.m4: Imported from gnulib
* gnulib/import/m4/sys_types_h.m4: Imported from gnulib
* gnulib/import/m4/unistd_h.m4: Imported from gnulib
* gnulib/import/m4/warn-on-use.m4: Imported from gnulib
* gnulib/import/m4/wchar_t.m4: Imported from gnulib
* gnulib/import/obstack.c: Imported from gnulib
* gnulib/import/obstack.h: Imported from gnulib
* gnulib/import/stddef.in.h: Imported from gnulib
* gnulib/import/stdint.in.h: Imported from gnulib
* gnulib/import/stdlib.in.h: Imported from gnulib
* gnulib/import/sys: Imported from gnulib
* gnulib/import/sys_types.in.h: Imported from gnulib
* gnulib/import/unistd.c: Imported from gnulib
* gnulib/import/unistd.in.h: Imported from gnulib
* gnulib/stamp-h1: generated

Also note that I have a copyright assignment in place already.

-Ayush Goel

Attachment: importgnulib_7_20.patch
Description: Binary data

Reply via email to