2
0

createconfig.pp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. program createconfig;
  2. {$mode objfpc}
  3. {$h+}
  4. uses sysutils;
  5. Var
  6. F : Text;
  7. CfgFile : String;
  8. BaseDir : String;
  9. Procedure AddLn(S : String);
  10. begin
  11. Writeln(F,S);
  12. end;
  13. begin
  14. if ParamCount<>2 then
  15. begin
  16. Writeln('Usage ',ParamStr(0),' cfgfile basedir');
  17. Writeln('Basedir relative to cfgfile');
  18. Halt(1);
  19. end;
  20. CfgFile:=Paramstr(1);
  21. BaseDir:=ParamStr(2);
  22. if not ForceDirectories(ExtractFilePath(CfgFile)) then
  23. begin
  24. Writeln(StdErr,'Could not create destination directory ',ExtractFilePath(CfgFile));
  25. Halt(2);
  26. end;
  27. Assign(F,CfgFile);
  28. try
  29. Rewrite(F);
  30. except
  31. On E : exception do
  32. begin
  33. Writeln(StdErr,'Could not create config file ',CfgFile,' : ',E.Message);
  34. Halt(3);
  35. end;
  36. end;
  37. Addln('#');
  38. Addln('# Minimal config file for pas2js compiler');
  39. Addln('#');
  40. Addln('');
  41. Addln('# not yet implemented: -d is the same as #DEFINE');
  42. Addln('# not yet implemented: -u is the same as #UNDEF');
  43. Addln('');
  44. Addln('# Write always a nice logo ;)');
  45. Addln('-l');
  46. Addln('');
  47. Addln('# Display Hints, Warnings and Notes');
  48. Addln('-vwnh');
  49. Addln('# If you don''t want so much verbosity use');
  50. Addln('#-vw');
  51. Addln('');
  52. Addln('-Fu$CfgDir/'+BASEDIR+'/packages/rtl');
  53. Addln('-Fu$CfgDir/'+BASEDIR+'/packages/fcl-base');
  54. Addln('-Fu$CfgDir/'+BASEDIR+'/packages/fcl-db');
  55. Addln('-Fu$CfgDir/'+BASEDIR+'/packages/fpcunit');
  56. Addln('');
  57. Addln('#IFDEF nodejs');
  58. Addln('-Jirtl.js');
  59. Addln('#ENDIF');
  60. Addln('');
  61. Addln('# end.');
  62. Addln('EOCF');
  63. Addln('');
  64. Addln('# end');
  65. Close(F);
  66. end.