# Special configuration file for the Nim project

hint[XDeclaredButNotUsed]:off

define:booting
define:nimcore
define:nimPreviewSlimSystem
define:nimPreviewCstringConversion
define:nimPreviewProcConversion
define:nimPreviewRangeDefault
define:nimPreviewNonVarDestructor
define:nimPreviewCheckedClose
define:nimPreviewAsmSemSymbol
define:nimPreviewCStringComparisons
define:nimPreviewDuplicateModuleError

threads:off

#import:"$projectpath/testability"

@if windows:
  cincludes: "$lib/wrappers/libffi/common"
@end

define:useStdoutAsStdmsg

@if nimHasStyleChecks:
  styleCheck:error
@end


#define:useNodeIds
#gc:markAndSweep

@if nimHasWarningObservableStores:
  warning[ObservableStores]:off
@end


@if nimHasWarningAsError:
  warningAsError[GcUnsafe2]:on
@end

@if nimHasWarnUnnamedBreak:
  warningAserror[UnnamedBreak]:on
@end

@if nimHasWarnBareExcept:
  warning[BareExcept]:on
  warningAserror[BareExcept]:on
@end


@if nimUseStrictDefs:
  experimental:strictDefs
  warningAsError[Uninit]:on
  warningAsError[ProveInit]:on
@end

@if nimHasWarnStdPrefix:
  warning[StdPrefix]:on
  warningAsError[StdPrefix]:on
@end

@if nimHasVtables:
  experimental:vtables
@end

@if nimHasImplicitRangeConversion:
  warning[ImplicitRangeConversion]:off
@end
