A patch for refine the cmake system and also configure

Because this patch must be applied in one time so that don't broken
the buildbot system.
So I just submit the configure and cmake at the same time.
Also, this patch add two new file
iterator.h
and
DataTypes.h

for the reason that patch doesn't support for svn's rename mechanics.
So I just add these two file and doesn't delete the old history files

Because I doesn't get configure working (I am not using Unix or
Linux), so i doesn't testing configure yet.
But cmake is working file on win32.

Also I add an module CheckSymbols
It's a module support for check_type_exists and check_include_exists and so on.

But I doesn't delete
iterator.in
and
iterator.cmake
and
DataTypes.h.cmake
DataTypes.h.in

Indeed, because those two new file is based on these files.
So we can using the svnr rename function to trace these files.

By the way
iterator.h is places at llvm/include/llvm/ADT

and
DataTypes.h is placed at llvm/include/llvm/Support

cleanup_iterator_DataTypes.patch (18.4 KB)

Hi Yonggang!

Because this patch must be applied in one time so that don't broken
the buildbot system.
So I just submit the configure and cmake at the same time.
Also, this patch add two new file
iterator.h
and
DataTypes.h

What do you want to improve exactly? Do you experience
problems?

I have spent a good part of my last day with removing
iterator.h (and friends) and have drawn the ire of some
people against me. It was pretty clear that iterator.h
was a horrible kludge.

Why do you want to put it back?

Cheers,

    Gabor

What do you want to improve exactly? Do you experience
problems?

not only iterator.h but also DataTypes.h

I also put back iterator.h because at the trunk of llvm, iterator.h.in
and iterator.h.cmake still there:(
My improvement is now we didn't to generate DataTyes.h,
we just need to generate config.h,
And everything is configured at config.h, but not in seperate files.:slight_smile:

Also DataTypes.h
and iterator.hn

at the config.h.cmake
I did the these changes. So at iterator.h, we can import the necessary
defines from config.h.

/**************************************
** Created by Kevin from config.h.in **
***************************************/
+#ifdef LLVM_IMPORT_ITERATOR_CONFIG

+/* Define to 1 if you have the `bidirectional_iterator' struct*/
+#cmakedefine HAVE_BI_ITERATOR ${HAVE_BI_ITERATOR}

> What do you want to improve exactly? Do you experience
> problems?

not only iterator.h but also DataTypes.h

Okay, I understand. You want to strip more files.

I also put back iterator.h because at the trunk of llvm, iterator.h.in
and iterator.h.cmake still there:(

Yeah, they came nack from dead by a reverse merge, because Bill pulled
the
brakes after the buildbots coughed hard. I did not even notice this
amidst
the confusion :-/ (<http://lists.cs.uiuc.edu/pipermail/llvm-commits/
Week-of-Mon-20090824/085690.html>)

I will try to clean this up today. Sigh.

Let me finish my part and then think about next steps. Too many things
can
go wrong here.

Cheers,

    Gabor