[LLVMdev] creating a project from sample project

Ryan M. Lefever lefever at crhc.uiuc.edu
Thu Apr 20 01:11:04 PDT 2006


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

-- 
Ryan M. Lefever  [217.333.7231]  [http://www.ews.uiuc.edu/~lefever]




More information about the llvm-dev mailing list