public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jeff Law <law@redhat.com>
To: David Malcolm <dmalcolm@redhat.com>
Cc: jit@gcc.gnu.org, gcc-patches@gcc.gnu.org
Subject: Re: [PATCH 2/5] gcc: configure and Makefile changes needed by jit
Date: Wed, 15 Oct 2014 21:01:00 -0000	[thread overview]
Message-ID: <543EDE61.6090801@redhat.com> (raw)
In-Reply-To: <1413397540.9513.125.camel@surprise>

On 10/15/14 12:25, David Malcolm wrote:
> On Wed, 2014-10-15 at 11:36 -0600, Jeff Law wrote:
>> On 10/13/14 11:45, David Malcolm wrote:
>>> gcc/ChangeLog:
>>> 	* configure.ac (gcc_version): Expose this value for use via
>>> 	AC_SUBST, since the jit code needs it within the new file
>>> 	libgccjit.pc.in.
>>> 	(doc_build_sys): New variable, set to "sphinx" if
>>> 	sphinx is installed, falling back to "texinfo" otherwise.
>>> 	(gcc-driver-name.h): Generate a gcc-driver-name.h file containing
>>> 	GCC_DRIVER_NAME for the benefit of jit/jit-playback.c.
>>> 	* configure: Regenerate.
>>> 	* Makefile.in (doc_build_sys): New.
>>> 	(bindir): New.
>>> 	(pkgconfigdir): New.
>>> 	(installdirs): Add creation of $(DESTDIR)$(pkgconfigdir).
>>> 	(site.exp): When constructing site.exp, add a line to set "bindir".
>> Mostly OK.  Though a couple questions.
>>
>> Why do we need pkgconfig and why do you need a bindir in site.exp?
>
> I chose to provide a libgccjit.pc file in the install, so that client
> code has the option of compiling and linking against the library like
> this:
>
> $ gcc jit-hello-world.c $(pkg-config libgccjit --cflags)
> $ gcc jit-hello-world.o $(pkg-config libgccjit --libs)
WIthout a general consensus to add pkg-config, I'd rather not go this 
direction.  Right now I'd much rather see us adding the appropriate 
flags automatically.


>
> relying on pkg-config to automatically supply the relevant flags for the
> correct paths (for those people who want to use pkg-config).
But I think that is a completely independent discussion and if we go 
that direction we should make it pervasive in GCC and not just for the 
JIT bits.

>
> As for the "bindir" in site.exp, Joseph asked me when the library
> invokes a driver to convert from .s to .so to:
>
> On Tue, 2014-09-23 at 23:27 +0000, Joseph S. Myers wrote:
>> * use the $(target_noncanonical)-gcc-$(version) name for the
>> driver rather than plain "gcc", to maximise the chance that it
>> is actually the same compiler the JIT library was built for (I
>> realise you may not actually depend on it being the same
>> compiler, but that does seem best; in principle in future it
>> should be possible to load multiple copies of the JIT library
>> to JIT for different targets, so that code for an offload
>> accelerator can go through the JIT).
> ( https://gcc.gnu.org/ml/jit/2014-q3/msg00033.html )
>
> This full name is used when *installing* the driver, but doesn't exist
> within the build directory.
> Hence when running the library, the installation bindir needs to be in
> the PATH.  In particular, (in
> https://gcc.gnu.org/ml/jit/2014-q4/msg00005.html ) when running the jit
> testsuite we rely on the driver having been installed, and in jit.exp we
> need to temporarily prepend the installation bindir onto the front of
> PATH when running test programs linked against libgccjit.so.  Hence we
> need to know what bindir is from expect, hence we add it to site.exp.
So if I'm reading all this correctly, what's being implied is that 
testing is done using the installed bits rather than the in-build-tree 
bits?  We really need this to run without having been installed.

jeff

  parent reply	other threads:[~2014-10-15 20:51 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-13 17:39 [PATCH 0/5] Merger of jit branch (v2) David Malcolm
2014-10-13 17:39 ` [PATCH 2/5] gcc: configure and Makefile changes needed by jit David Malcolm
2014-10-15 17:37   ` Jeff Law
2014-10-15 18:48     ` David Malcolm
2014-10-15 19:00       ` Joseph S. Myers
2014-10-15 21:01       ` Jeff Law [this message]
2014-10-15 21:46         ` David Malcolm
2014-10-17 16:20           ` [PATCH] Avoid the need to install when running the jit testsuite David Malcolm
2014-10-17 17:58             ` Joseph S. Myers
2014-10-20 17:59       ` [jit] Drop libgccjit.pc David Malcolm
2014-10-20 20:12         ` Basile Starynkevitch
2014-10-20 20:30           ` Matthias Klose
2014-10-20 20:44           ` David Malcolm
2014-10-13 17:39 ` [PATCH 3/5] timevar.h: Add an auto_timevar class David Malcolm
2014-10-14  9:14   ` Richard Biener
2014-10-14 15:58     ` David Malcolm
2014-10-15  8:09       ` Richard Biener
2014-10-13 17:39 ` [PATCH 1/5] libiberty: Expose choose_tmpdir, and fix constness of return type David Malcolm
2014-10-15 17:34   ` Jeff Law
2014-10-15 19:10     ` David Malcolm
2014-10-15 19:22       ` DJ Delorie
2014-10-13 18:38 ` [PATCH 4/5] State cleanups David Malcolm
2014-10-16 22:08   ` [PATCH 4/5] State cleanups -- also note for MPX work Jeff Law
2014-10-17  2:12     ` David Malcolm
2014-10-17 17:04       ` Jeff Law
2014-10-14 15:14 ` Patches 5-10 of jit merger (was: Re: [PATCH 0/5] Merger of jit branch (v2)) David Malcolm
2014-10-14 15:17   ` [PATCH 05/10] JIT-related changes outside of jit subdir David Malcolm
2014-10-15 17:46     ` Jeff Law
2014-10-17 21:52     ` Joseph S. Myers
2014-10-20 19:59       ` [jit] Add Sphinx to install.texi David Malcolm
2014-10-21  0:01         ` Joseph S. Myers
2014-10-21 16:20         ` Gerald Pfeifer
2014-10-21 19:30           ` David Malcolm
2014-10-30  3:08             ` [jit] Tweaks " David Malcolm
2014-10-14 15:22   ` [PATCH 06/10] Heart of the JIT implementation (was: Re: [PATCH 0/5] Merger of jit branch (v2)) David Malcolm
2014-10-17 21:54     ` Joseph S. Myers
2014-10-20 18:58       ` [jit] Error-handling within gcc::jit::dump David Malcolm
2014-10-21  0:01         ` Joseph S. Myers
2014-10-30 19:29       ` [PATCH 06/10] Heart of the JIT implementation (was: Re: [PATCH 0/5] Merger of jit branch (v2)) David Malcolm
2014-10-31  5:16         ` Joseph S. Myers
2014-10-31  6:30           ` [PATCH 06/10] Heart of the JIT implementation Jeff Law
2014-10-14 15:24   ` [PATCH 07/10] Testsuite for the JIT (Re: Patches 5-10 of jit merger (was: Re: [PATCH 0/5] Merger of jit branch (v2))) David Malcolm
2014-10-15 17:50     ` [PATCH 07/10] Testsuite for the JIT (Re: Patches 5-10 of jit merger Jeff Law
2014-10-15 20:04       ` Mike Stump
2014-10-14 15:39   ` [PATCH 10/10] ChangeLog files (Re: Patches 5-10 of jit merger (was: Re: [PATCH 0/5] Merger of jit branch (v2))) David Malcolm
2014-10-15 17:55     ` [PATCH 10/10] ChangeLog files (Re: Patches 5-10 of jit merger Jeff Law
2014-10-15 17:02   ` [PATCH 08/10] Documentation for the JIT library (Re: Patches 5-10 of jit merger) David Malcolm
2014-10-15 20:51     ` Jeff Law
2014-10-21 19:02       ` [jit] Update the docs David Malcolm
2014-10-15 17:03   ` [PATCH 09/10] Prebuilt texinfo documentation for the JIT library (Re: Patches 5-10 of jit merger) David Malcolm
2014-10-15 17:52     ` Jeff Law

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=543EDE61.6090801@redhat.com \
    --to=law@redhat.com \
    --cc=dmalcolm@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jit@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).