Bug Report 2001/08/29-v1.0b25-br01


[MAIN]
[News]
[Intro]
[Features]
[Download]
[Installation]
[Support]
[Support+]
[Docu]
[Tutorial]
[Bugs]
[forum ]
[wiki]
[Mirror]
[Authors]
[Future]
[License]
[Win98 Setup Bug]
[Subscribe]
Bug Report id=2001/08/29-v1.0b25-br01
Affected versions:v1.0b25 scriba.dll Windows platform only
Severity:Medium

Bug Description

The delivered scriba.dll on the Windows platform does not export the ScriptBasic API and therefore is not usable.

Bug Reason, What Causes the Bug

The ScriptBasic file scriba.dll was compiled erroneous.

Solution

To get a correct DLL run the following Perl script names mkscribadef.pl
open(F,"scriba.c") or die "Can not open scriba.c";
open(OUT,">scriba.def") or die "Can not output scriba.def";
print OUT <<END;
LIBRARY     scriba
DESCRIPTION "ScriptBasic Library"
EXPORTS

END

while( defined( $line = <F>) ){
  if( $line =~ /\/\*FUNCTION\*\// ){
    $line = <F>;
    $line =~ /\w+\s+(\w+)/;
    print OUT "            $1\n";
    }
  }
close OUT;
close F;

This will generate a DEF file. Alter the Makefile.nt to contain the code:
scriba.dll : $(OBJS) $(COBJS) lmt_none.obj scriba.def
	$(LD) $(LDOPTIONS) /Fescriba.dll $(OBJS) $(COBJS) $(LIBS) _
lmt_none.obj /link /DEF:scriba.def 

scriba.def : scriba.c
	perl mkscribadef.pl


Delete all versions of scriba.dll and recompile it using the Makefile.n, or type
        cl /LD /nologo  /Fescriba.dll builder.obj conftree.obj dynlolib.obj _
execute.obj expression.obj filesys.obj getopt.obj lexer.obj match.obj _
memory.obj myalloc.obj options.obj reader.obj report.obj sym.obj _
syntax.obj errcodes.obj hookers.obj modumana.obj extops.obj _
uniqfnam.obj epreproc.obj md5.obj ipreproc.obj scriba.obj _
environ.obj external.obj file.obj function.obj goto.obj if.obj _
let.obj mathfunc.obj mathops.obj print.obj string.obj time.obj _
while.obj logger.obj thread.obj hndlptr.obj mygmtime.obj _
basext.obj ws2_32.lib advapi32.lib _
lmt_none.obj /link /DEF:scriba.def

To check that the resulted file contains all exported functions type
Dumpbin /exports scriba.dll

The next version of ScriptBasic will deliver the correct DLL.

Bug Workaround Until Solution is Available

There is no workaround.

Acknowledgement

FALKINDER,DAVID (HP-UnitedKingdom,ex2)

This page was generated January 28, 2010 9:58:42