[LLVMdev] creating a project from sample project

Reid Spencer reid at x10sys.com
Thu Apr 20 07:25:31 PDT 2006


Hi Ryan,

Unfortunately, you'll need to use CVS. I don't think the changes to
LLVM's autoconf/m4 directory made it into release 1.7.  The changes in
AutoRegen.sh and configure.ac for the sample project are dependent on a
minor change in llvm/autoconf/m4/config_project.m4.  If you need to use
1.6 or 1.7, just get that file from CVS and replace it in your 1.6 or
1.7 release sources. That should allow the AutoRegen.sh for your project
to find what it needs and work correctly.

Reid.

On Thu, 2006-04-20 at 03:11 -0500, Ryan M. Lefever wrote:
> Reid,
> 
> Thank you for all your help.  I think that I have AutoRegen.sh working 
> now.  (I still get the warning about GOB2_HOOK, but I'm assuming that's 
> not a problem.)
> 
> I'll explain the scenario that led to the problem.  I copied the sample 
> project to ~/work/myproject/src/sample.  Then I renamed it to 
> ~/work/myproject/src/llvm, indicating that this was the llvm part of my 
> project.  So the problem was that when AutoRegen.sh applied ../../llvm 
> from ~/work/myproject/src/llvm/autoconf, it ended up pointing back to my 
> copy of the sample project rather than the llvm source; and I was never 
> asked for the location of the llvm source.  To fix the problem I just 
> renamed ~/work/myproject/src/llvm to something else.
> 
> In order to use the fix that you've checked in for the sample project, 
> do I need to use the rest of the llvm src that is checked into cvs, or 
> can I just copy the new sample project from cvs and use it with llvm 1.6?
> 
> Thanks,
> Ryan
> 
> 
> Reid Spencer wrote:
> > Hi Ryan,
> > 
> > The output from autoconf doesn't look familiar (but then, does it
> > ever?).
> > 
> > Note that it thinks that AC_CONFIG_MAKEFILE isn't defined which is
> > likely if you didn't get the LLVM_SRC_ROOT correct.  Here's the only
> > things I can think of:
> > 
> > 1. You also need to cvs update llvm/autoconf/m4 to get the new
> > definition of LLVM_CONFIG_PROJECT.
> > 
> > 2. You typed in the LLVM source root incorrectly when prompted. for it.
> > 
> > Hopefully one of those two things is the case because it is easily
> > rectified. If not, please send the entire transcript of running with
> > AutoRegen.sh, the AutoRegen.sh script you're using, and the paths you're
> > attempting to set up (i.e. where is LLVM and where is your project?)
> > 
> > Thanks,
> > 
> > Reid.
> > 
> > On Wed, 2006-04-19 at 16:35 -0500, Ryan M. Lefever wrote:
> >> Reid,
> >>
> >> Thanks for the help.  I am trying out the fixes you checked into CVS.  I 
> >> seem to be getting some errors running AutoRegen.sh.  I am a bit 
> >> inexperienced with autoconf and m4.  The errors I'm getting are below. 
> >> Do you know what the problem is?  I am using machines running FC3.  The 
> >> autoconf version is 2.59, the aclocal version is 1.9.2, and the m4 
> >> version is 1.4.1.
> >>
> >> /usr/share/aclocal/gob2.m4:7: warning: underquoted definition of GOB2_HOOK
> >>    run info '(automake)Extending aclocal'
> >>    or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
> >> Regenerating configure with autoconf 2.5x
> >> configure.ac:25: error: possibly undefined macro: AC_CONFIG_MAKEFILE
> >>        If this token and others are legitimate, please use m4_pattern_allow.
> >>        See the Autoconf documentation.
> >> autoconf failed
> >>
> >> Regards,
> >> Ryan
> >>
> >> Reid Spencer wrote:
> >>> Ryan,
> >>>
> >>> Rather than fix the documentation to match reality, I decided to fix
> >>> reality to match the documentation. I have just committed (CVS head)
> >>> changes to the sample project's AutoRegen.sh script that will prompt the
> >>> user for the path to the LLVM source root and the LLVM object root, if
> >>> it can't automatically determine the location (because your project is
> >>> not located in the llvm/projects directory).  Once entered, the value is
> >>> retained and used throughout so you never need to specify it again.
> >>> Hopefully, this will help with your circumstances.
> >>>
> >>> Please try it out and let me know if that solution works or if you have
> >>> any further issues.
> >>>
> >>> Reid.
> >>>
> >>> On Tue, 2006-04-18 at 00:03 -0500, Ryan M. Lefever wrote:
> >>>
> >>>> Thank you for the response.  I guess the only thing that is confusing is 
> >>>> that the LLVM documentation, at http://llvm.org/docs/Projects.html under 
> >>>> the "Create a Project from the Sample Project" heading, indicates that 
> >>>> (1) you can place your project *anywhere* you want, and (2) that you are 
> >>>> supposed to use the AutoRegen.sh script as is.  However, that seems not 
> >>>> to be the case.
> >>>>
> >>>> The reason my project is not in the LLVM projects directory is because 
> >>>> it is in a CVS directory as part of a different project I am working on.
> >>>>
> >>>> Again thanks for the help.
> >>>>
> >>>> Ryan
> >>>>
> >>>> Reid Spencer wrote:
> >>>>
> >>>>> It's complaining about the LLVM autoconf/m4 directory which contains the
> >>>>> m4 macros that are used in your project's configure.ac. By convention,
> >>>>> your project should be in the llvm/projects directory so that you have:
> >>>>>
> >>>>> 1. llvm/autoconf
> >>>>> 2. llvm/projects/yourProj/autoconf
> >>>>>
> >>>>> The AutoRegen.sh in #2 is looking for #1. By convention that should be
> >>>>> located at ../../../autoconf/m4.  AC_CONFIG_AUX_DIR has nothing to do
> >>>>> with it, as that comes into play only when autoconf is run, not when
> >>>>> AutoRegen.sh is running. 
> >>>>>
> >>>>> Probably the only thing you're doing "wrong" is not placing your project
> >>>>> in the llvm/projects directory.  If you need to have your project
> >>>>> elsewhere, then what you did (change llvm_m4) is correct.  But, please
> >>>>> be aware, the directory you want is *not* your project's autoconf
> >>>>> directory, but LLVM's autoconf directory.
> >>>>>
> >>>>> Reid.
> >>>>>
> >>>>> On Fri, 2006-04-14 at 18:40 -0500, Ryan M. Lefever wrote:
> >>>>>
> >>>>>
> >>>>>> I am trying to create a project in my home directory based off the 
> >>>>>> instructions in http://llvm.org/docs/Projects.html.  I have completed 
> >>>>>> step 4 requiring me to set the values in autoconf/configure.ac  In step 
> >>>>>> 5, when I run AutoRegen.sh, I get the following error:
> >>>>>>
> >>>>>> Can't find the LLVM autoconf/m4 directory. The project should be checked 
> >>>>>> out to projects directory
> >>>>>>
> >>>>>> So, I assumed that I set AC_CONFIG_AUX_DIR incorrectly in configure.ac. 
> >>>>>> I tried setting it to an absolute path and a relative path but had no 
> >>>>>> luck.  Then I looked at AutoRegen.sh, and it seems to have a variable 
> >>>>>> called llvm_m4 that is hardcoded to either ../../../autoconf/m4 or 
> >>>>>> ../../llvm/autoconf/m4.  If I hardcode in another option that allows 
> >>>>>> llvm_m4 to be hardcoded to the same value that I set AC_CONFIG_AUX_DIR 
> >>>>>> to, then I am able to run AutoRegen.sh.  Am I doing something wrong?
> >>>>>>
> >>>>>> Regards,
> >>>>>> Ryan
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> LLVM Developers mailing list
> >>>>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >>>>>>
> >>>>>>
> >>>>>> ------------------------------------------------------------------------
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> LLVM Developers mailing list
> >>>>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >>>>
> >>>> ------------------------------------------------------------------------
> >>>>
> >>>> _______________________________________________
> >>>> LLVM Developers mailing list
> >>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >>
> >> ------------------------------------------------------------------------
> >>
> >> _______________________________________________
> >> LLVM Developers mailing list
> >> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060420/4849cb6b/attachment.sig>


More information about the llvm-dev mailing list