>> Maybe the only generic way to integrate such needs with >> hbmk2, is to create an separate external tool (non-hbmk2) >> and call it as part of of 'preprocessing'. So what needs >> to be done in hbmk2 is to allow to run external tools at >> specific stages of the process, f.e. 'preflight', >> 'postflight', 'prelink'. >> >> I hope to hear ideas on the specifics of such >> implementation. >> > > Sounds good. But I am at a loss to understand what type of > tool it could be. You have embedded moc_ creation in Harbour > build system nicely, rather very nicely.
It's a local extension to HBQT, it's not embedded in core in any ways. Note however that GNU Make is a much more generic tool than hbmk2, with different goals. >> Though until this is implemented I'd suggest to do the >> 'moc' creation as part of the generator tool. >> > > I will think but probably it is not possible due the fact > that at the time of generation the path_to_headers is not > known neither cared. It will increase the complexity IMO. Complexity is unavoidable, the only question is where to put it. If hbmk2 can call an external tool with a preconfigured list of input files and that external tool can convert these to whatever else input files, we're done. >>> -incpath=${QT_WITH_SCINTILLA}/qt // where QScintilla headers >>> are >> >> In the context of Harbour, QT_WITH_SCINTILLA >> should be named HB_WITH_QSCINTILLA. >> > > HB_WITH_QSCINTILLA seems more appropriate, I will change. Thank you. >> Another (maybe obvious) rule is to strictly avoid >> any qscintilla references in HBQT generated sources. > > Probably this is the most difficult part and probably not viable. > > hbqt_par_Q* - hbqt.h Why cannot QSCINTILLA wrapper sources reference hbqt.h? And why do HBQT files need to reference QSCINTILLA files? If they do, something is wrong, if they don't, you don't have to mix them. Pls keep separate components cleanly separated. It's a basic rule in Harbour. > These must have to go inside hbqt.h otherwise we will end up > replication because the other members are referenced from within > all external lib wrappers anyway. i.e., QFont, QColor, etc. > > extern QT_G_FUNC( hbqt_gcRelease_Q* ) - hbqt_garbage.cpp > extern void * hbqt_gcAllocate_Q*l( void * pObj, bool bNew ) - > hbqt_garbage.cpp > > These can be somehow isolated in local file like > hbqt_garbage_qscintilla.cpp. > Other implementation could be to create a composite file clubbing _par_ > and _gcAllocate_, _gcRelease_ together in the local folder. I cannot see the nature of complication. There is no theory which would explain why separate components need to have mashed-together parts in order to work. Viktor _______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour