Przemek
Przemysław Czerpak wrote: > >> > I thought that you want to introduce full separation of compiled > > the #pragma low level behavior strictly depends on > current compiler implementation. It may change in > My current requirement is to just get rid of the unresolved external "_errno" which is called in ppcore.c in pp.lib in xHarbour of year 2007 October. I have tweaked hbMK2 ( my local copy ) to send PRG sources to harbour.exe one-by-one and is sufficient to cover all discussed above, though I would like to see this happen in a proper manner in Harbour. Because this project has to be compiled with older xHarbour which I wanted to do so through hbIDE, and where I think we will not be touching the compiler code at all, I am looking for some out of the compiler code solution. In one of my prgs I am calling this code: -------------------------- pPP := __PP_Init() __PP_AddRule( pPP, '#xtranslate TYPE => $$TY ' ) __PP_AddRule( pPP, '#xtranslate str ( => $$STR^Rdd(' ) __PP_AddRule( pPP, '#xtranslate substr ( => $$SUBSTR^Rdd(' ) __PP_AddRule( pPP, '#xtranslate dtos ( => $$DTOS^Rdd(' ) __PP_AddRule( pPP, '#xtranslate substr ( => $$SUBSTR^Rdd(' ) __PP_AddRule( pPP, '#xtranslate EMPTY ( => $$EMPTY^Rdd(' ) __PP_AddRule( pPP, '#xtranslate IF ( => $$IF^Rdd(' ) __PP_AddRule( pPP, '#xtranslate IIF ( => $$IIF^Rdd(' ) __PP_AddRule( pPP, '#xtranslate Reverse ( => $$REVERSE^Rdd(' ) __PP_AddRule( pPP, '#xtranslate upper ( => $$UPPER^Rdd(' ) __PP_AddRule( pPP, '#xtranslate LOWER ( => $$LOWER^Rdd(' ) __PP_AddRule( pPP, '#xtranslate CTOD ( => $$CTOD^Rdd(' ) __PP_AddRule( pPP, '#xtranslate SECONDS ( => $$SECONDS^Rdd(' ) __PP_AddRule( pPP, '#xtranslate Date ( => $$DATE^Rdd(' ) __PP_AddRule( pPP, '#xtranslate LEFT ( => $$LEFT^Rdd(' ) cExp :=__PP_Process( pPP, cExp ) cExp := strtran( cExp, "==", "=" ) do while .t. if ( n := at( '.and.', lower( cExp ) ) ) == 0 exit endif cExp := substr( cExp, 1, n-1 ) + '&&' + substr( cExp, n+5 ) enddo do while .t. if ( n := at( '.or.', lower( cExp ) ) ) == 0 exit endif cExp := substr( cExp, 1, n-1 ) + '||' + substr( cExp, n+4 ) enddo cExp := strtran( cExp, '$ $TY', 'Type' ) cExp := strtran( cExp, '$$TY', 'Type' ) cExp := strtran( cExp, "~" , "'" ) cExp := strtran( cExp, "!" , "'" ) if aStr <> nil for i := 1 to len( aStr ) cExp := ParseByField( cExp, i, aStr, @aComp ) next endif ////////////// cExp := strtran( cExp, '$ $' , '$$' ) cExp := strtran( cExp, '+ ' , '+' ) cExp := strtran( cExp, '+$$' , '_$$' ) cExp := strtran( cExp, '+{' , '_{' ) cExp := strtran( cExp, '}+' , '}_' ) cExp := strtran( cExp, ')+(' , ')_(' ) Return cExp -------------------------------------------- Maybe this code is the culprit. May be I need to do it somehow differently. The above code belongs to CacheRDD I developed on top of UsrRDD. I tried to introduce int errno() { return 0; } but other type of warnings are there, so I believe this is not the solution. Any help is appreciated. I am really struck at this. ----- enjoy hbIDEing... Pritpal Bedi http://hbide.vouch.info/ -- View this message in context: http://harbour-devel.1590103.n2.nabble.com/hbMK2-xHarbour-Oct-2007-Unresolved-External-tp5033192p5041228.html Sent from the harbour-devel mailing list archive at Nabble.com. _______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour