#39 Borland Win32 project & makefiles

Feature Request
closed-accepted
5
2002-07-12
2002-04-01
No

Borland C++ Builder project file and make file for the
command line compiler to build expat.dll

Unzip the patch from the directory above expat, then
read the README.borland file for instructions.

Discussion

  • Fred L. Drake, Jr.

    Logged In: YES
    user_id=3066

    Does this need to be updated to reflect the header name change from
    "config.h" to "expat_config.h"?

    I don't think I'll have time to look at
    this before 1.95.3; is this just a few additional files or do other files need
    changing? I'll try to install the recent C++ Builder demo to try this out.

     
  • Fred L. Drake, Jr.

    Logged In: YES
    user_id=3066

    Well, I won't be able to install the C++ Builder demo on my Win2K
    system since I don't have enough space on my system disk. ;-(

     
  • Fred L. Drake, Jr.

    Logged In: YES
    user_id=3066

    Closing due to non-responsiveness of the reporter and
    generally not being able to bring this up to date.

     
  • Fred L. Drake, Jr.

    • milestone: --> Feature Request
    • labels: --> Build Control
    • status: open --> closed-out-of-date
     
  • Patrick McConnell

    Logged In: YES
    user_id=415653

    Ahh, I didnt clue in that you wanted me to do something
    previously. I have been keeping my proj and makefiles up
    to date and have attached the latest. They should go into
    expat/proj/win32/BCB5 (I did this instead of spreading
    them around the directory tree to reduce clutter).

    You can test it with the free Borland command line
    compiler, the make files work with that.
    http://www.borland.com/products/downloads/download_cb
    uilder.html

    If you are getting close to a release and want to include this
    I'll check it out on a daily basis. Im using the cvs files.

    Patrick

     
  • Patrick McConnell

    Latest Borland Files

     
  • Fred L. Drake, Jr.

    • assigned_to: nobody --> fdrake
    • status: closed-out-of-date --> open-out-of-date
     
  • Fred L. Drake, Jr.

    Logged In: YES
    user_id=3066

    Re-opened and assigned to myself.

     
  • Fred L. Drake, Jr.

    Logged In: YES
    user_id=3066

    After a quick review:

    I'd like to rename the "cleanall" target to simply "clean",
    as this is a more common name for this function.

    There appear to be many intermediate directories between the
    top of the tree and the BCB5 directory; can this be reduced?
    I'm also not sure if the expected structure is that
    resulting from the installed version of the sources or just
    the CVS checkout; it's largely the same, but slightly
    different at the top (probably not in any relevant way). It
    appears slightly tedious to make this work easily in both
    tree structures, since the win32/ directory is not part of
    the Source/ directory of the installed Expat package.

    I still haven't had time to re-install my Windows
    environment, so I can't yet install Borland's free
    command-line compiler, so I'll need your guidance. ;-(

    We are getting ready to release Expat 1.95.4 this coming Friday.

    Marking this report "pending", awaiting your response.

     
  • Fred L. Drake, Jr.

    • status: open-out-of-date --> pending-out-of-date
     
  • Patrick McConnell

    Logged In: YES
    user_id=415653

    Fred,

    The directory structure I used for the project files is copied
    from easysoap and xerces-c. It is more than expat needs
    at this point but if you start getting more and more ports to
    other OS's and build tools it becomes necessary. For
    example, your VC files could go into expat/proj/win32/VC6.
    However, if you like, I can put everything into a directory
    called BCB5 right under the expat root.

    cleanall removes the executables, obj files and the build
    directories. Instead of renaming it, I'll just create another
    target called clean that only removes the obj files. I think
    this is more standard. OK?

    About the directory structure: I was assuming the cvs is
    the same as the release structure. My build files are now
    set up to put the binaries in "release" directories under the
    various source directories (lib, examples, xmlwf and
    gennmtab). Are you saying the installed directory structure
    has all the source directories under src (or Source)? Also,
    for the release, should all the binaries go into expat/win32?
    I can do this no problem, just let me know.

    I got the setup Im using now by translating the VC project
    files into BCB format, so I figured it would be right, but I
    never thought the installed structure would be different
    from the cvs.

    Patrick

     
  • Patrick McConnell

    • status: pending-out-of-date --> open-out-of-date
     
  • Fred L. Drake, Jr.

    Logged In: YES
    user_id=3066

    Regarding the clean and cleanall targets: You're right, the
    new version of clean you describe would be better, and
    "cleanall" should probably be named "distclean", and should
    remove everything created in the process of running the
    makefile (including DLLs, .LIB files, etc.).

    The MSVC project works because the directories it needs are
    all arranged the same way for both CVS checkouts and the
    "installed" sources. You might want to look at
    win32/MANIFEST.txt; it describes the layout of the installed
    package on Windows. There is no equivalent of the win32
    directory in the result; I'd imagined putting the BCB5
    directory inside that. I think I could copy the directory
    to Sources\BCB5 using the installer, but that makes it one
    level closer to the top of the source tree in the installed
    version than in CVS, which breaks the use of ..\.. references.

    I like the idea of keeping the project files away from the
    actual sources though. Perhaps I can change the MSVC
    projects to work in a similar way, but I'm hesitant to make
    so many changes to the structure just before tomorrow's release.

    (Karl, any thoughts on moving the .DSP and .DSW files to
    win32\msvc6 ?)

    Would it be reasonable to adjust the files to work from
    win32\bcb5, and only worry about them from CVS for now,
    leaving them out of the installer in 1.95.4. Re-working the
    project file layout can be done for 1.95.5, so it can be
    given more thought.

    Thanks!

     
  • Karl Waclawek

    Karl Waclawek - 2002-07-11

    Logged In: YES
    user_id=290026

    > (Karl, any thoughts on moving the .DSP and .DSW
    > files to win32\msvc6 ?)

    Well, ideally I would like it symmetrical, i.e. all
    the build files for the various targets should be
    in separate directories on the same level.

    It seems it is not that clear that we should have an extra
    level for the OS, since Windows Dlls can be built on
    VC6, BCB5 and Cygwin.

    Also, the Make stuff may apply to various OSes
    simultaneously. So, maybe we could have the Make stuff
    at the top level, as we already have, and create one
    child directory for each build target that needs special
    treatment beyond Make. In other words, I am
    thinking off a VC6 directory and a BCB5 directory directly
    under the top level (I believe you already have a vms
    directory like that).

    Karl

     
  • Patrick McConnell

    Logged In: YES
    user_id=415653

    Why dont I put the BCB files in expat/BCB5. Then the
    make files will be there ready to by integrated into the top
    level make files at a later date. Also, the VC proj's put the
    binaries in various "release" directories but since the BCB
    files are all in one place why dont I just put the binaries in
    expat/win32/release. Finally, should I copy the libs to
    expat/Lib? I can do all this today if you want to include it in
    tomorrows release.

     
  • Karl Waclawek

    Karl Waclawek - 2002-07-11

    Logged In: YES
    user_id=290026

    I am wondering if each build target should not have its
    own "release" type directoy? Imagine you want to
    maintain separate builds of Expat under VC6 and BCB5.
    In that case it would be nice if they would not overwrite
    each other. But maybe that is too fancy.

    Karl

     
  • Fred L. Drake, Jr.

    Logged In: YES
    user_id=3066

    Karl: I like the idea that multiple toolchains can be
    supported in one tree, but doubt it's worth the effort or
    resulting fragility. Many tools aren't terribly flexible
    about project layout, either. ;-(

    Patrick: Let's create bcb5 at the top level today, and
    place all the project-related files there. If the output
    can go in bcb5\release, that should make it easy enough for
    people to work with both Windows compilers in one tree for
    now, and we can re-work things in the next release if that
    seems to be the right thing.

    I can add this as soon as I have a set of files you approve
    of. I'm deleting the older of the packages you provided
    since that's so out of date at this point.

     
  • Fred L. Drake, Jr.

    • status: open-out-of-date --> pending-out-of-date
     
  • Fred L. Drake, Jr.

    • status: pending-out-of-date --> closed-accepted
     
  • Fred L. Drake, Jr.

    Logged In: YES
    user_id=3066

    The version Patrick sent to me in email, based on the
    discussion in the comments on this report, has been checked
    in for inclusion in Expat 1.95.4.

    Thanks, Patrick!

     

Log in to post a comment.