unit compilerswitchupdateunit; {$mode objfpc}{$H+} {$INCLUDE Compilerswitches.inc} {$R compilerswitchupdateunit.rc} interface uses Classes, SysUtils; implementation uses myStringListUnit,refreshExecutableUnit; var ciRuntime,ciCompiletime: tMyStringList; update: boolean; initialization ciRuntime:=tMyStringList.create; ciCompiletime:=tMyStringList.create; ciRuntime.loadFromFile(extractFilePath(paramstr(0))+'/Compilerswitches.inc'); ciCompiletime.loadFromResource('COMPILERSWITCHES_INC'); update:=ciCompiletime.text<>ciRuntime.text; ciCompiletime.free; ciRuntime.free; if update then begin writeln(stderr,'Recompiling due to new compiler switches.'); refreshExecutable(extractFilePath(paramstr(0))); end; end.