Is it possible to use an #ifdef to distinquish between platform versions

Added an advanced script, based on the link by @maxgerhardt

Import("env")
from platformio.builder.tools.piolib import PackageItem
from platformio.package.version import get_original_version

print("Adding platform and package version defines")

platform = env.PioPlatform()
used_packages = platform.dump_used_packages()
pkg_metadata = PackageItem(platform.get_dir()).metadata
platform_version = str(pkg_metadata.version if pkg_metadata else platform.version)
platform_version_split = platform_version.split(sep=".")

env.Append(CPPDEFINES=[
  ("PIO_PLATFORM_VERSION_MAJOR", platform_version[0]),
  ("PIO_PLATFORM_VERSION_MINOR", platform_version[1]),
  ("PIO_PLATFORM_VERSION_RELEASE", platform_version[2])
])

for package in used_packages:
    pio_package_version = package["version"] # e.g. "1.70300.191015"
    pio_package_name = package["name"] # e.g. "toolchain-atmelavr"
    # can fail at decoding and return None if package version is not in semver format
    # in these cases the pio package version is already the decoded version
    # e.g. 1.70300.191015 => 7.3.0
    # e.g. 5.1.0 => None
    pio_decoded_version = get_original_version(pio_package_version)
    name_converter = lambda name: name.upper().replace(" ", "_").replace("-", "_")
    print("PIO_PACKAGE_%s_PKG_VERSION=%s" % (name_converter(pio_package_name), "\\\"" + pio_package_version + "\\\""))

    env.Append(CPPDEFINES=[
     ("PIO_PACKAGE_%s_PKG_VERSION" % name_converter(pio_package_name) , "\\\"" + pio_package_version + "\\\"")
    ])

    if pio_decoded_version is not None: 
        print("PIO_PACKAGE_%s_DECODED_VERSION=%s" % (name_converter(pio_package_name), pio_decoded_version))
        env.Append(CPPDEFINES=[
        ("PIO_PACKAGE_%s_DECODED_VERSION" % name_converter(pio_package_name) , "\\\"" + pio_decoded_version + "\\\"")
        ])