[llvm] r239987 - config.h.*: Rework r210144. Don't edit config.h.in manually.

Mehdi Amini via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 17 18:54:07 PDT 2015


> On Sep 17, 2015, at 5:18 PM, NAKAMURA Takumi via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
> On Fri, Sep 18, 2015 at 8:44 AM Justin Bogner <mail at justinbogner.com <mailto:mail at justinbogner.com>> wrote:
> (Re-sending to the right list)
> 
> NAKAMURA Takumi <geek4civic at gmail.com <mailto:geek4civic at gmail.com>> writes:
> > Author: chapuni
> > Date: Wed Jun 17 23:08:20 2015
> > New Revision: 239987
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=239987&view=rev <http://llvm.org/viewvc/llvm-project?rev=239987&view=rev>
> > Log:
> > config.h.*: Rework r210144. Don't edit config.h.in <http://config.h.in/> manually.
> >
> >   - Generate #include in configure.ac <http://configure.ac/>.
> >   - Resurrect the copy of llvm-config.h.cmake into config.h.cmake.
> 
> Sorry to bring up such an old thread, but *why* did you duplicate
> everything from llvm-config.h.cmake into config.h.cmake? This just makes
> it more error prone to try to update these, since they need to be
> updated in sync. config.h #includes llvm-config.h anyway...
> 
> I dare to say again, "Don't edit config.h.in <http://config.h.in/> manually."
> As far as we maintain autoconf build, config.h.in <http://config.h.in/> is generated by configure.ac <http://configure.ac/>.
> 
> I suppose we were working for config.h.cmake in sync to config.h.in <http://config.h.in/>.
> That said, config.h.cmake can easily diverge from config.h.in <http://config.h.in/>.
> 
> And, I suppose llvm-config.h.* may be subset of config.h.*.

Since config.h.cmake *includes* llvm-config.h, why would we have a subset of config.h.make in llvm-config.h? 

I’d expect the intersection between config.h.make and llvm-config.h.make to be null, why shouldn’t it be?

Thanks,

— 
Mehdi




> I intended r239987 was "trying to keep config.h.cmake in sync to config.h.in <http://config.h.in/>" rather than "copying back from llvm-config.h.cmake into config.h.cmake".
> 
> I know this is hairy.
> 
> 
> >
> > Modified:
> >     llvm/trunk/autoconf/configure.ac <http://configure.ac/>
> >     llvm/trunk/include/llvm/Config/config.h.cmake
> >     llvm/trunk/include/llvm/Config/config.h.in <http://config.h.in/>
> >
> > Modified: llvm/trunk/autoconf/configure.ac <http://configure.ac/>
> > URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/autoconf/configure.ac?rev=239987&r1=239986&r2=239987&view=diff <http://llvm.org/viewvc/llvm-project/llvm/trunk/autoconf/configure.ac?rev=239987&r1=239986&r2=239987&view=diff>
> > ==============================================================================
> >
> > --- llvm/trunk/autoconf/configure.ac <http://configure.ac/> (original)
> > +++ llvm/trunk/autoconf/configure.ac <http://configure.ac/> Wed Jun 17 23:08:20 2015
> > @@ -2172,7 +2172,10 @@ dnl contains the same list of files as A
> >  dnl files can be updated automatically when their *.in sources change.
> >  AC_CONFIG_HEADERS([include/llvm/Config/config.h include/llvm/Config/llvm-config.h])
> >  AH_TOP([#ifndef CONFIG_H
> > -#define CONFIG_H])
> > +#define CONFIG_H
> > +
> > +/* Exported configuration */
> > +#include "llvm/Config/llvm-config.h"])
> >  AH_BOTTOM([#endif])
> >
> >  AC_CONFIG_FILES([include/llvm/Config/Targets.def])
> >
> > Modified: llvm/trunk/include/llvm/Config/config.h.cmake
> > URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Config/config.h.cmake?rev=239987&r1=239986&r2=239987&view=diff <http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Config/config.h.cmake?rev=239987&r1=239986&r2=239987&view=diff>
> > ==============================================================================
> > --- llvm/trunk/include/llvm/Config/config.h.cmake (original)
> > +++ llvm/trunk/include/llvm/Config/config.h.cmake Wed Jun 17 23:08:20 2015
> > @@ -411,12 +411,103 @@
> >  /* Have host's ___chkstk_ms */
> >  #cmakedefine HAVE____CHKSTK_MS ${HAVE____CHKSTK_MS}
> >
> > -/* Define if we link Polly to the tools */
> > -#cmakedefine LINK_POLLY_INTO_TOOLS
> > +/* Linker version detected at compile time. */
> > +#undef HOST_LINK_VERSION
> > +
> > +/* Installation directory for binary executables */
> > +#cmakedefine LLVM_BINDIR "${LLVM_BINDIR}"
> > +
> > +/* Time at which LLVM was configured */
> > +#cmakedefine LLVM_CONFIGTIME "${LLVM_CONFIGTIME}"
> > +
> > +/* Installation directory for data files */
> > +#cmakedefine LLVM_DATADIR "${LLVM_DATADIR}"
> > +
> > +/* Target triple LLVM will generate code for by default */
> > +#cmakedefine LLVM_DEFAULT_TARGET_TRIPLE "${LLVM_DEFAULT_TARGET_TRIPLE}"
> > +
> > +/* Installation directory for documentation */
> > +#cmakedefine LLVM_DOCSDIR "${LLVM_DOCSDIR}"
> > +
> > +/* Define if LLVM is built with asserts and checks that change the layout of
> > +   client-visible data structures.  */
> > +#cmakedefine LLVM_ENABLE_ABI_BREAKING_CHECKS
> > +
> > +/* Define if threads enabled */
> > +#cmakedefine01 LLVM_ENABLE_THREADS
> >
> >  /* Define if zlib compression is available */
> >  #cmakedefine01 LLVM_ENABLE_ZLIB
> >
> > +/* Installation directory for config files */
> > +#cmakedefine LLVM_ETCDIR "${LLVM_ETCDIR}"
> > +
> > +/* Has gcc/MSVC atomic intrinsics */
> > +#cmakedefine01 LLVM_HAS_ATOMICS
> > +
> > +/* Host triple LLVM will be executed on */
> > +#cmakedefine LLVM_HOST_TRIPLE "${LLVM_HOST_TRIPLE}"
> > +
> > +/* Installation directory for include files */
> > +#cmakedefine LLVM_INCLUDEDIR "${LLVM_INCLUDEDIR}"
> > +
> > +/* Installation directory for .info files */
> > +#cmakedefine LLVM_INFODIR "${LLVM_INFODIR}"
> > +
> > +/* Installation directory for man pages */
> > +#cmakedefine LLVM_MANDIR "${LLVM_MANDIR}"
> > +
> > +/* LLVM architecture name for the native architecture, if available */
> > +#cmakedefine LLVM_NATIVE_ARCH ${LLVM_NATIVE_ARCH}
> > +
> > +/* LLVM name for the native AsmParser init function, if available */
> > +#cmakedefine LLVM_NATIVE_ASMPARSER LLVMInitialize${LLVM_NATIVE_ARCH}AsmParser
> > +
> > +/* LLVM name for the native AsmPrinter init function, if available */
> > +#cmakedefine LLVM_NATIVE_ASMPRINTER LLVMInitialize${LLVM_NATIVE_ARCH}AsmPrinter
> > +
> > +/* LLVM name for the native Disassembler init function, if available */
> > +#cmakedefine LLVM_NATIVE_DISASSEMBLER LLVMInitialize${LLVM_NATIVE_ARCH}Disassembler
> > +
> > +/* LLVM name for the native Target init function, if available */
> > +#cmakedefine LLVM_NATIVE_TARGET LLVMInitialize${LLVM_NATIVE_ARCH}Target
> > +
> > +/* LLVM name for the native TargetInfo init function, if available */
> > +#cmakedefine LLVM_NATIVE_TARGETINFO LLVMInitialize${LLVM_NATIVE_ARCH}TargetInfo
> > +
> > +/* LLVM name for the native target MC init function, if available */
> > +#cmakedefine LLVM_NATIVE_TARGETMC LLVMInitialize${LLVM_NATIVE_ARCH}TargetMC
> > +
> > +/* Define if this is Unixish platform */
> > +#cmakedefine LLVM_ON_UNIX ${LLVM_ON_UNIX}
> > +
> > +/* Define if this is Win32ish platform */
> > +#cmakedefine LLVM_ON_WIN32 ${LLVM_ON_WIN32}
> > +
> > +/* Installation prefix directory */
> > +#cmakedefine LLVM_PREFIX "${LLVM_PREFIX}"
> > +
> > +/* Define if we have the Intel JIT API runtime support library */
> > +#cmakedefine LLVM_USE_INTEL_JITEVENTS 1
> > +
> > +/* Define if we have the oprofile JIT-support library */
> > +#cmakedefine LLVM_USE_OPROFILE 1
> > +
> > +/* Major version of the LLVM API */
> > +#define LLVM_VERSION_MAJOR ${LLVM_VERSION_MAJOR}
> > +
> > +/* Minor version of the LLVM API */
> > +#define LLVM_VERSION_MINOR ${LLVM_VERSION_MINOR}
> > +
> > +/* Patch version of the LLVM API */
> > +#define LLVM_VERSION_PATCH ${LLVM_VERSION_PATCH}
> > +
> > +/* LLVM version string */
> > +#define LLVM_VERSION_STRING "${PACKAGE_VERSION}"
> > +
> > +/* Define if we link Polly to the tools */
> > +#cmakedefine LINK_POLLY_INTO_TOOLS
> > +
> >  /* Define if the OS needs help to load dependent libraries for dlopen(). */
> >  #cmakedefine LTDL_DLOPEN_DEPLIBS ${LTDL_DLOPEN_DEPLIBS}
> >
> >
> > Modified: llvm/trunk/include/llvm/Config/config.h.in <http://config.h.in/>
> > URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Config/config.h.in?rev=239987&r1=239986&r2=239987&view=diff <http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Config/config.h.in?rev=239987&r1=239986&r2=239987&view=diff>
> > ==============================================================================
> > --- llvm/trunk/include/llvm/Config/config.h.in <http://config.h.in/> (original)
> > +++ llvm/trunk/include/llvm/Config/config.h.in <http://config.h.in/> Wed Jun 17 23:08:20 2015
> > @@ -3,6 +3,9 @@
> >  #ifndef CONFIG_H
> >  #define CONFIG_H
> >
> > +/* Exported configuration */
> > +#include "llvm/Config/llvm-config.h"
> > +
> >  /* Bug report URL. */
> >  #undef BUG_REPORT_URL
> >
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at cs.uiuc.edu <mailto:llvm-commits at cs.uiuc.edu>
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits <http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150917/77472686/attachment-0001.html>


More information about the llvm-commits mailing list