Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / DarkENGINEER PreProcesser Tool-Chain Manager

Author
Message
DSG
22
Years of Service
User Offline
Joined: 26th Aug 2002
Location: Hampshire, England
Posted: 3rd Apr 2007 04:50 Edited at: 3rd Apr 2007 10:34
The 'DarkENGINEER PreProcesser Tool-Chain Manager' simply provides a means to manage and apply multiple pre-processors to your source code prior to compilation. This tool is the first in a planned suite of applications and utilities designed to enable the use of industry-standard software engineering techniques in the development of DBP tools and games.

This release is designed for the default IDE, but there is no reason why it can't be setup for use in others.

The manager consists of two applications; a configuration utility and a runtime. The configuration utility is used to setup and manage a tool-chain. The runtime is what the IDE calls (in-place of the DBP Compiler) to apply the tool-chain and invoke compilation.




Functionality:
- Add/remove pre-processors and change their order in the tool-chain
- Enable/disable individual pre-processers or the entire tool-chain
- Supply additional command-line arguments to individual pre-processors
- Individually Suppress pre-processor application windows (useful for hiding ugly console windows etc.)


The tool operates by simply executing each pre-processor in turn before finally invoking the DBP compiler. Each pre-processer is passed the command line arguments provided by the IDE, as well as any additional arguments specified in the configuration utility. Execution of the tool-chain can be canceled at any time.

The tool-chain runtime does not require pre-processor developers to do anything special with their executables. However, the tool-chain runtime does interpret the exit codes returned by pre-processors.

If a pre-processor application returns zero, the runtime assumes that the application finished successfully and so continues on down the chain. If an application returns non-zero, the runtime assumes that the application finished unsuccessfully. When this happens, the runtime will cease processing the tool-chain. The error code and the name of the offending pre-processor are reported back to the user.


The beta can be downloaded from:

[href]http://www.dark-developer.co.uk/DE PTC BETA Download.zip[/href]

(edit: requires the .NET 2.0 framework)

This is a fully functional release of the manager. It does require a bit of manual installation which is documented in the readme. Bug reports, comments and feature requests are welcome and appreciated

To make this release more useful, I've included a simple pre-processor that adds conditional-compilation functionality. The pre-processor adds the #define, #undef, #ifdef, #ifndef, #else and #endif directives, allowing you to do stuff like this:



Danny Gregory BSc
Milkman
18
Years of Service
User Offline
Joined: 30th Nov 2005
Location: United States
Posted: 9th Apr 2007 23:48 Edited at: 10th Apr 2007 00:39
I can't believe i didn't see this before. I just caught it before it went off the first page.

If you didn't know, i'm the one developing oodbp, a precompiler to provide support for object oriented programming in dbp. This definitely will be useful for my project. Nabil was working on something similar, but i'm not sure if he gave his up or not.

Once I check the beta out, i'll post back with my comments.

[edit] I like it! Works well, and just as expected. It works just fine with my preprocessor, without a hitch. Its gui is simple and intuitive, which is a plus. There is really nothing about the application itself that i dislike. The only thing that would be nice for later releases would be an automatic installer, even if it is just a batch script copying files. Keep up the good work, i will definitely be using this.

P.S: If you agree, I would like to distribute future versions of this with oodbp. Please contact me or post here to let me know what you think about this idea.

Who needs a signature?
DSG
22
Years of Service
User Offline
Joined: 26th Aug 2002
Location: Hampshire, England
Posted: 10th Apr 2007 02:19
Thanks, glad you found it useful!

There are a couple of things that I will change before releasing version 1:

- Set the configuration tool window to always appear on top (sometimes it gets lost behind the editor)
- Prevent more than one copy of the configuration tool from running at any time
- Add some brief help files
- Maybe make a couple of aesthetic changes (I don't intend to re-arrange anything, just replacing the program icon and so on)
- Package it all up in an installer.

I am aware of your preprocessor, keep up the good work! Feel free to package and redistribute any version of this tool with your preprocessor.

Danny Gregory BSc
DSG
22
Years of Service
User Offline
Joined: 26th Aug 2002
Location: Hampshire, England
Posted: 17th Apr 2007 02:52
I finally got the time to make the aforementioned changes. Version 1 can now be downloaded from here:

http://www.dark-developer.co.uk/PTCManagerV1.zip



Danny Gregory BSc
Milkman
18
Years of Service
User Offline
Joined: 30th Nov 2005
Location: United States
Posted: 17th Apr 2007 03:24
Great! This will be distributed in the next release of OODBP

Who needs a signature?
IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 18th Apr 2007 15:39
I played with this a little last night - it's an excellent little tool. I plan on releasing the source code to a simple preprocessor soon.

Can I suggest that you talk with Hyrichter and come up with a way between you to allow CodeSurge to use the Launch.cfg to get the compilers executable name so they can be used together?

DSG
22
Years of Service
User Offline
Joined: 26th Aug 2002
Location: Hampshire, England
Posted: 18th Apr 2007 23:32
I've fired off an e-mail to Hyrichter to see what can be resolved. I'll keep this thread updated on any progress.

Danny Gregory BSc

Login to post a reply

Server time is: 2024-09-29 20:37:09
Your offset time is: 2024-09-29 20:37:09