mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-06 21:00:22 +00:00
merge from develop
This commit is contained in:
commit
61d28f09d4
@ -95,11 +95,6 @@
|
||||
<fileset dir="${thirdparty.dir}/OfficialHashSets"/>
|
||||
</copy>
|
||||
|
||||
<!--Copy ImageMagick to release-->
|
||||
<copy todir="${basedir}/release/ImageMagick-7.0.10-27-portable-Q16-x64" >
|
||||
<fileset dir="${thirdparty.dir}/ImageMagick-7.0.10-27-portable-Q16-x64"/>
|
||||
</copy>
|
||||
|
||||
<!--Copy DomainCategorization to release-->
|
||||
<copy todir="${basedir}/release/DomainCategorization" >
|
||||
<fileset dir="${thirdparty.dir}/DomainCategorization"/>
|
||||
|
@ -111,7 +111,7 @@ import org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository;
|
||||
} catch (CentralRepoException ex) {
|
||||
logger.log(Level.SEVERE, "Unable to connect to the Central Repository database.", ex);
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
logger.log(Level.SEVERE, "Unable to retrieve data from the Central Repository.", ex);
|
||||
logger.log(Level.WARNING, "Unable to retrieve data from the Central Repository.", ex);
|
||||
}
|
||||
}
|
||||
|
||||
@ -337,7 +337,7 @@ import org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository;
|
||||
for (String value : values) {
|
||||
CorrelationAttributeNormalizer.normalize(type, value);
|
||||
}
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CorrelationAttributeNormalizationException | CentralRepoException ex) {
|
||||
// No need to log this.
|
||||
return false;
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ public class CentralRepoFileInstance {
|
||||
/**
|
||||
* @param MD5Hash the MD5Hash to set
|
||||
*/
|
||||
public void setMD5Hash(String MD5Hash) throws CorrelationAttributeNormalizationException {
|
||||
public void setMD5Hash(String MD5Hash) throws CorrelationAttributeNormalizationException, CentralRepoException {
|
||||
this.MD5Hash = CorrelationAttributeNormalizer.normalize(CorrelationAttributeInstance.FILES_TYPE_ID, MD5Hash);
|
||||
}
|
||||
|
||||
|
@ -47,13 +47,13 @@ final public class CorrelationAttributeNormalizer {
|
||||
*
|
||||
* @return normalized data
|
||||
*/
|
||||
public static String normalize(CorrelationAttributeInstance.Type attributeType, String data) throws CorrelationAttributeNormalizationException {
|
||||
public static String normalize(CorrelationAttributeInstance.Type attributeType, String data) throws CorrelationAttributeNormalizationException, CentralRepoException {
|
||||
|
||||
if (attributeType == null) {
|
||||
throw new CorrelationAttributeNormalizationException("Attribute type was null.");
|
||||
throw new CentralRepoException("Attribute type was null.");
|
||||
}
|
||||
if (data == null) {
|
||||
throw new CorrelationAttributeNormalizationException("Correlation value was null.");
|
||||
throw new CentralRepoException("Correlation value was null.");
|
||||
}
|
||||
|
||||
String trimmedData = data.trim();
|
||||
@ -81,7 +81,6 @@ final public class CorrelationAttributeNormalizer {
|
||||
return normalizeIccid(trimmedData);
|
||||
|
||||
default:
|
||||
try {
|
||||
// If the atttribute is not one of the above
|
||||
// but is one of the other default correlation types, then let the data go as is
|
||||
List<CorrelationAttributeInstance.Type> defaultCorrelationTypes = CorrelationAttributeInstance.getDefaultCorrelationTypes();
|
||||
@ -93,10 +92,7 @@ final public class CorrelationAttributeNormalizer {
|
||||
final String errorMessage = String.format(
|
||||
"Validator function not found for attribute type: %s",
|
||||
attributeType.getDisplayName());
|
||||
throw new CorrelationAttributeNormalizationException(errorMessage);
|
||||
} catch (CentralRepoException ex) {
|
||||
throw new CorrelationAttributeNormalizationException("Failed to get default correlation types.", ex);
|
||||
}
|
||||
throw new CentralRepoException(errorMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@ -109,8 +105,7 @@ final public class CorrelationAttributeNormalizer {
|
||||
*
|
||||
* @return normalized data
|
||||
*/
|
||||
public static String normalize(int attributeTypeId, String data) throws CorrelationAttributeNormalizationException {
|
||||
try {
|
||||
public static String normalize(int attributeTypeId, String data) throws CorrelationAttributeNormalizationException, CentralRepoException {
|
||||
List<CorrelationAttributeInstance.Type> defaultTypes = CorrelationAttributeInstance.getDefaultCorrelationTypes();
|
||||
Optional<CorrelationAttributeInstance.Type> typeOption = defaultTypes.stream().filter(attributeType -> attributeType.getId() == attributeTypeId).findAny();
|
||||
|
||||
@ -118,10 +113,7 @@ final public class CorrelationAttributeNormalizer {
|
||||
CorrelationAttributeInstance.Type type = typeOption.get();
|
||||
return CorrelationAttributeNormalizer.normalize(type, data);
|
||||
} else {
|
||||
throw new CorrelationAttributeNormalizationException(String.format("Given attributeTypeId did not correspond to any known Attribute: %s", attributeTypeId));
|
||||
}
|
||||
} catch (CentralRepoException ex) {
|
||||
throw new CorrelationAttributeNormalizationException(ex);
|
||||
throw new CentralRepoException(String.format("Given attributeTypeId did not correspond to any known Attribute: %s", attributeTypeId));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -144,7 +144,7 @@ public class CorrelationAttributeUtil {
|
||||
} catch (NoCurrentCaseException ex) {
|
||||
logger.log(Level.SEVERE, String.format("Error getting current case for OS account '%s'", accountAddr.get()), ex); //NON-NLS
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
logger.log(Level.SEVERE, String.format("Error normalizing correlation attribute for OS account '%s'", accountAddr.get()), ex); //NON-NLS
|
||||
logger.log(Level.WARNING, String.format("Error normalizing correlation attribute for OS account '%s': %s", accountAddr.get(), ex.getMessage())); //NON-NLS
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -364,10 +364,10 @@ public class CorrelationAttributeUtil {
|
||||
correlationAttrs.addAll(makeCorrAttrsFromCommunicationArtifact(artifact, attributes));
|
||||
}
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
logger.log(Level.SEVERE, String.format("Error normalizing correlation attribute (%s)", artifact), ex); // NON-NLS
|
||||
logger.log(Level.WARNING, String.format("Error normalizing correlation attribute (%s): %s", artifact, ex.getMessage())); // NON-NLS
|
||||
return correlationAttrs;
|
||||
} catch (InvalidAccountIDException ex) {
|
||||
logger.log(Level.SEVERE, String.format("Invalid account identifier (artifactID: %d)", artifact.getId())); // NON-NLS
|
||||
logger.log(Level.WARNING, String.format("Invalid account identifier (artifactID: %d): %s", artifact.getId(), ex.getMessage())); // NON-NLS
|
||||
return correlationAttrs;
|
||||
} catch (CentralRepoException ex) {
|
||||
logger.log(Level.SEVERE, String.format("Error querying central repository (%s)", artifact), ex); // NON-NLS
|
||||
@ -651,7 +651,7 @@ public class CorrelationAttributeUtil {
|
||||
logger.log(Level.SEVERE, String.format("Error querying central repository (%s)", artifact), ex); // NON-NLS
|
||||
return null;
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
logger.log(Level.SEVERE, String.format("Error creating correlation attribute instance (%s)", artifact), ex); // NON-NLS
|
||||
logger.log(Level.WARNING, String.format("Error creating correlation attribute instance (%s): %s", artifact, ex.getMessage())); // NON-NLS
|
||||
return null;
|
||||
} catch (NoCurrentCaseException ex) {
|
||||
logger.log(Level.WARNING, "Error getting current case", ex); // NON-NLS
|
||||
@ -715,7 +715,7 @@ public class CorrelationAttributeUtil {
|
||||
logger.log(Level.SEVERE, String.format("Error querying central repository (%s)", file), ex); // NON-NLS
|
||||
return null;
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
logger.log(Level.SEVERE, String.format("Error creating correlation attribute instance (%s)", file), ex); // NON-NLS
|
||||
logger.log(Level.WARNING, String.format("Error creating correlation attribute instance (%s): %s", file, ex.getMessage())); // NON-NLS
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -733,7 +733,7 @@ public class CorrelationAttributeUtil {
|
||||
logger.log(Level.SEVERE, String.format("Error querying central repository (%s)", file), ex); // NON-NLS
|
||||
return null;
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
logger.log(Level.SEVERE, String.format("Error creating correlation attribute instance (%s)", file), ex); // NON-NLS
|
||||
logger.log(Level.WARNING, String.format("Error creating correlation attribute instance (%s): %s", file, ex.getMessage())); // NON-NLS
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -791,7 +791,7 @@ public class CorrelationAttributeUtil {
|
||||
} catch (CentralRepoException ex) {
|
||||
logger.log(Level.SEVERE, String.format("Error querying central repository (%s)", file), ex); // NON-NLS
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
logger.log(Level.SEVERE, String.format("Error creating correlation attribute instance (%s)", file), ex); // NON-NLS
|
||||
logger.log(Level.WARNING, String.format("Error creating correlation attribute instance (%s): %s", file, ex.getMessage())); // NON-NLS
|
||||
} catch (NoCurrentCaseException ex) {
|
||||
logger.log(Level.WARNING, "Error getting current case", ex); // NON-NLS
|
||||
}
|
||||
|
@ -1276,7 +1276,7 @@ abstract class RdbmsCentralRepo implements CentralRepository {
|
||||
@Override
|
||||
public List<CorrelationAttributeInstance> getArtifactInstancesByTypeValue(CorrelationAttributeInstance.Type aType, String value) throws CentralRepoException, CorrelationAttributeNormalizationException {
|
||||
if (value == null) {
|
||||
throw new CorrelationAttributeNormalizationException("Cannot get artifact instances for null value");
|
||||
throw new CentralRepoException("Cannot get artifact instances for null value");
|
||||
}
|
||||
return getArtifactInstancesByTypeValues(aType, Arrays.asList(value));
|
||||
}
|
||||
@ -1284,10 +1284,10 @@ abstract class RdbmsCentralRepo implements CentralRepository {
|
||||
@Override
|
||||
public List<CorrelationAttributeInstance> getArtifactInstancesByTypeValues(CorrelationAttributeInstance.Type aType, List<String> values) throws CentralRepoException, CorrelationAttributeNormalizationException {
|
||||
if (aType == null) {
|
||||
throw new CorrelationAttributeNormalizationException("Cannot get artifact instances for null type");
|
||||
throw new CentralRepoException("Cannot get artifact instances for null type");
|
||||
}
|
||||
if (values == null || values.isEmpty()) {
|
||||
throw new CorrelationAttributeNormalizationException("Cannot get artifact instances without specified values");
|
||||
throw new CentralRepoException("Cannot get artifact instances without specified values");
|
||||
}
|
||||
return getCorrAttrInstances(prepareGetInstancesSql(aType, values), aType);
|
||||
}
|
||||
@ -1295,13 +1295,13 @@ abstract class RdbmsCentralRepo implements CentralRepository {
|
||||
@Override
|
||||
public List<CorrelationAttributeInstance> getArtifactInstancesByTypeValuesAndCases(CorrelationAttributeInstance.Type aType, List<String> values, List<Integer> caseIds) throws CentralRepoException, CorrelationAttributeNormalizationException {
|
||||
if (aType == null) {
|
||||
throw new CorrelationAttributeNormalizationException("Cannot get artifact instances for null type");
|
||||
throw new CentralRepoException("Cannot get artifact instances for null type");
|
||||
}
|
||||
if (values == null || values.isEmpty()) {
|
||||
throw new CorrelationAttributeNormalizationException("Cannot get artifact instances without specified values");
|
||||
throw new CentralRepoException("Cannot get artifact instances without specified values");
|
||||
}
|
||||
if (caseIds == null || caseIds.isEmpty()) {
|
||||
throw new CorrelationAttributeNormalizationException("Cannot get artifact instances without specified cases");
|
||||
throw new CentralRepoException("Cannot get artifact instances without specified cases");
|
||||
}
|
||||
String tableName = CentralRepoDbUtil.correlationTypeToInstanceTableName(aType);
|
||||
String sql
|
||||
@ -1327,7 +1327,7 @@ abstract class RdbmsCentralRepo implements CentralRepository {
|
||||
*
|
||||
* @throws CorrelationAttributeNormalizationException
|
||||
*/
|
||||
private String prepareGetInstancesSql(CorrelationAttributeInstance.Type aType, List<String> values) throws CorrelationAttributeNormalizationException {
|
||||
private String prepareGetInstancesSql(CorrelationAttributeInstance.Type aType, List<String> values) throws CorrelationAttributeNormalizationException, CentralRepoException {
|
||||
String tableName = CentralRepoDbUtil.correlationTypeToInstanceTableName(aType);
|
||||
String sql
|
||||
= "SELECT "
|
||||
|
@ -112,7 +112,7 @@ final class CentralRepoIngestModule implements FileIngestModule {
|
||||
} catch (CentralRepoException ex) {
|
||||
logger.log(Level.SEVERE, "Error searching database for artifact.", ex); // NON-NLS
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
logger.log(Level.INFO, "Error searching database for artifact.", ex); // NON-NLS
|
||||
logger.log(Level.INFO, "Error searching database for artifact: " + ex.getMessage()); // NON-NLS
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -81,7 +81,7 @@ class CentralRepoIngestModuleUtils {
|
||||
}
|
||||
}
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
LOGGER.log(Level.SEVERE, String.format("Error normalizing correlation attribute value for 's' (job ID=%d)", corrAttr, ingestJobId), ex); // NON-NLS
|
||||
LOGGER.log(Level.WARNING, String.format("Error normalizing correlation attribute value for 's' (job ID=%d)", corrAttr, ingestJobId), ex); // NON-NLS
|
||||
} catch (CentralRepoException ex) {
|
||||
LOGGER.log(Level.SEVERE, String.format("Error getting previous occurences of correlation attribute 's' (job ID=%d)", corrAttr, ingestJobId), ex); // NON-NLS
|
||||
}
|
||||
|
@ -489,7 +489,7 @@ public class AnnotationUtils {
|
||||
} catch (CentralRepoException ex) {
|
||||
logger.log(Level.SEVERE, "Error connecting to the Central Repository database.", ex); // NON-NLS
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
logger.log(Level.SEVERE, "Error normalizing instance from Central Repository database.", ex); // NON-NLS
|
||||
logger.log(Level.WARNING, "Error normalizing instance from Central Repository database.", ex); // NON-NLS
|
||||
}
|
||||
|
||||
return instancesToRet;
|
||||
|
@ -24,6 +24,8 @@ import java.net.URL;
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.logging.Level;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.commons.validator.routines.DomainValidator;
|
||||
import org.sleuthkit.autopsy.centralrepository.datamodel.CorrelationAttributeNormalizationException;
|
||||
|
||||
public class NetworkUtils {
|
||||
|
||||
@ -114,13 +116,23 @@ public class NetworkUtils {
|
||||
//do not log if not a valid URL - we will try to extract it ourselves
|
||||
}
|
||||
|
||||
// if there is a valid url host, get base domain from that host
|
||||
// otherwise use urlString and parse the domain
|
||||
String result = (StringUtils.isNotBlank(urlHost))
|
||||
? getBaseDomain(urlHost)
|
||||
: getBaseDomain(urlString);
|
||||
|
||||
// if there is a valid url host, get base domain from that host
|
||||
// otherwise use urlString and parse the domain
|
||||
DomainValidator validator = DomainValidator.getInstance(true);
|
||||
if (validator.isValid(result)) {
|
||||
return result;
|
||||
} else {
|
||||
final String validIpAddressRegex = "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$";
|
||||
if (result.matches(validIpAddressRegex)) {
|
||||
return result;
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -449,7 +449,7 @@ public abstract class AbstractAbstractFileNode<T extends AbstractFile> extends A
|
||||
} catch (CentralRepoException ex) {
|
||||
logger.log(Level.SEVERE, "Error getting count of datasources with correlation attribute", ex);
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
logger.log(Level.SEVERE, "Unable to normalize data to get count of datasources with correlation attribute", ex);
|
||||
logger.log(Level.WARNING, "Unable to normalize data to get count of datasources with correlation attribute", ex);
|
||||
}
|
||||
return Pair.of(count, description);
|
||||
}
|
||||
|
@ -1232,7 +1232,7 @@ public class BlackboardArtifactNode extends AbstractContentNode<BlackboardArtifa
|
||||
} catch (CentralRepoException ex) {
|
||||
logger.log(Level.SEVERE, MessageFormat.format("Error querying central repository for other occurences count (artifact objID={0}, corrAttrType={1}, corrAttrValue={2})", artifact.getId(), attribute.getCorrelationType(), attribute.getCorrelationValue()), ex);
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
logger.log(Level.SEVERE, MessageFormat.format("Error normalizing correlation attribute for central repository query (artifact objID={0}, corrAttrType={2}, corrAttrValue={3})", artifact.getId(), attribute.getCorrelationType(), attribute.getCorrelationValue()), ex);
|
||||
logger.log(Level.WARNING, MessageFormat.format("Error normalizing correlation attribute for central repository query (artifact objID={0}, corrAttrType={2}, corrAttrValue={3})", artifact.getId(), attribute.getCorrelationType(), attribute.getCorrelationValue()), ex);
|
||||
}
|
||||
return Pair.of(count, description);
|
||||
}
|
||||
|
@ -327,7 +327,7 @@ public class DiscoveryAttributes {
|
||||
if (context.searchIsCancelled()) {
|
||||
throw new SearchCancellationException("Search was cancelled while orgainizing domains by their normalized value.");
|
||||
}
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
logger.log(Level.INFO, String.format("Domain [%s] failed normalization, skipping...", domainInstance.getDomain()));
|
||||
}
|
||||
}
|
||||
|
@ -24,31 +24,27 @@ import java.util.logging.Level;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
import java.nio.file.DirectoryIteratorException;
|
||||
import java.nio.file.DirectoryStream;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.nio.file.StandardCopyOption;
|
||||
import java.nio.file.attribute.BasicFileAttributes;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.List;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
|
||||
import org.apache.commons.io.FilenameUtils;
|
||||
|
||||
import org.openide.modules.InstalledFileLocator;
|
||||
import org.openide.util.lookup.ServiceProvider;
|
||||
|
||||
import org.sleuthkit.autopsy.modules.pictureanalyzer.spi.PictureProcessor;
|
||||
import org.sleuthkit.autopsy.casemodule.Case;
|
||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||
import org.sleuthkit.autopsy.coreutils.ExecUtil;
|
||||
import org.sleuthkit.autopsy.coreutils.FileUtil;
|
||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
import org.sleuthkit.autopsy.coreutils.PlatformUtil;
|
||||
import org.sleuthkit.autopsy.ingest.FileIngestModuleProcessTerminator;
|
||||
import org.sleuthkit.autopsy.ingest.IngestJobContext;
|
||||
import org.sleuthkit.autopsy.ingest.IngestServices;
|
||||
import org.sleuthkit.autopsy.ingest.ModuleContentEvent;
|
||||
@ -70,85 +66,46 @@ public class HEICProcessor implements PictureProcessor {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(HEICProcessor.class.getName());
|
||||
|
||||
private static final int EXIT_SUCCESS = 0;
|
||||
private static final String HEIC_MODULE_FOLDER = "HEIC";
|
||||
private static final long TIMEOUT_IN_SEC = TimeUnit.SECONDS.convert(2, TimeUnit.MINUTES);
|
||||
|
||||
// Windows location
|
||||
private static final String IMAGE_MAGICK_FOLDER = "ImageMagick-7.0.10-27-portable-Q16-x64";
|
||||
private static final String IMAGE_MAGICK_EXE = "magick.exe";
|
||||
private static final String IMAGE_MAGICK_ERROR_FILE = "magick_error.txt";
|
||||
|
||||
// Actual path of ImageMagick on the system
|
||||
private final Path IMAGE_MAGICK_PATH;
|
||||
private final HeifJNI heifJNI;
|
||||
|
||||
public HEICProcessor() {
|
||||
IMAGE_MAGICK_PATH = findImageMagick();
|
||||
|
||||
if (IMAGE_MAGICK_PATH == null) {
|
||||
logger.log(Level.WARNING, "ImageMagick executable not found. "
|
||||
+ "HEIC functionality will be automatically disabled.");
|
||||
}
|
||||
}
|
||||
|
||||
private Path findImageMagick() {
|
||||
final Path windowsLocation = Paths.get(IMAGE_MAGICK_FOLDER, IMAGE_MAGICK_EXE);
|
||||
final Path macAndLinuxLocation = Paths.get("/usr", "local", "bin", "magick");
|
||||
|
||||
final String osName = PlatformUtil.getOSName().toLowerCase();
|
||||
|
||||
if (PlatformUtil.isWindowsOS() && PlatformUtil.is64BitJVM()) {
|
||||
final File locatedExec = InstalledFileLocator.getDefault().locate(
|
||||
windowsLocation.toString(), HEICProcessor.class.getPackage().getName(), false);
|
||||
|
||||
return (locatedExec != null) ? locatedExec.toPath() : null;
|
||||
} else if ((osName.equals("linux") || osName.startsWith("mac")) &&
|
||||
Files.isExecutable(macAndLinuxLocation) &&
|
||||
!Files.isDirectory(macAndLinuxLocation)) {
|
||||
return macAndLinuxLocation;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Give each file its own folder in module output. This makes scanning for
|
||||
* ImageMagick output fast.
|
||||
*/
|
||||
private Path getModuleOutputFolder(AbstractFile file) throws NoCurrentCaseException {
|
||||
final String moduleOutputDirectory = Case.getCurrentCaseThrows().getModuleDirectory();
|
||||
|
||||
return Paths.get(moduleOutputDirectory,
|
||||
HEIC_MODULE_FOLDER,
|
||||
String.valueOf(file.getId()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create any sub directories within the module output folder.
|
||||
*/
|
||||
private void createModuleOutputFolder(AbstractFile file) throws IOException, NoCurrentCaseException {
|
||||
final Path moduleOutputFolder = getModuleOutputFolder(file);
|
||||
|
||||
if (!Files.exists(moduleOutputFolder)) {
|
||||
Files.createDirectories(moduleOutputFolder);
|
||||
HeifJNI heifJNI;
|
||||
try {
|
||||
heifJNI = HeifJNI.getInstance();
|
||||
} catch (UnsatisfiedLinkError ex) {
|
||||
logger.log(Level.SEVERE, "libheif native dependencies not found. HEIC functionality will be automatically disabled.", ex);
|
||||
heifJNI = null;
|
||||
}
|
||||
this.heifJNI = heifJNI;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(IngestJobContext context, AbstractFile file) {
|
||||
try {
|
||||
if (IMAGE_MAGICK_PATH == null) {
|
||||
if (heifJNI == null) {
|
||||
return;
|
||||
}
|
||||
createModuleOutputFolder(file);
|
||||
|
||||
if (context.fileIngestIsCancelled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
final Path localDiskCopy = extractToDisk(file);
|
||||
if (file == null || file.getId() <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
convertToJPEG(context, localDiskCopy, file);
|
||||
byte[] heifBytes;
|
||||
try (InputStream is = new ReadContentInputStream(file)) {
|
||||
heifBytes = new byte[is.available()];
|
||||
is.read(heifBytes);
|
||||
}
|
||||
|
||||
if (heifBytes == null || heifBytes.length == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
convertToJPEG(context, heifBytes, file);
|
||||
} catch (IOException ex) {
|
||||
logger.log(Level.WARNING, "I/O error encountered during HEIC photo processing.", ex);
|
||||
} catch (TskCoreException ex) {
|
||||
@ -159,65 +116,62 @@ public class HEICProcessor implements PictureProcessor {
|
||||
}
|
||||
|
||||
/**
|
||||
* Copies the HEIC container to disk in order to run ImageMagick.
|
||||
* Create any sub directories within the module output folder.
|
||||
*
|
||||
* @param file The relevant heic/heif file.
|
||||
*
|
||||
* @return the parent folder path for any derived images.
|
||||
*/
|
||||
private Path extractToDisk(AbstractFile heicFile) throws IOException, NoCurrentCaseException {
|
||||
final String tempDir = Case.getCurrentCaseThrows().getTempDirectory();
|
||||
final String heicFileName = FileUtil.escapeFileName(heicFile.getName());
|
||||
private Path createModuleOutputFolder(AbstractFile file) throws IOException, NoCurrentCaseException {
|
||||
final String moduleOutputDirectory = Case.getCurrentCaseThrows().getModuleDirectory();
|
||||
|
||||
final Path localDiskCopy = Paths.get(tempDir, heicFileName);
|
||||
Path moduleOutputFolder = Paths.get(moduleOutputDirectory,
|
||||
HEIC_MODULE_FOLDER,
|
||||
String.valueOf(file.getId()));
|
||||
|
||||
try (BufferedInputStream heicInputStream = new BufferedInputStream(new ReadContentInputStream(heicFile))) {
|
||||
Files.copy(heicInputStream, localDiskCopy, StandardCopyOption.REPLACE_EXISTING);
|
||||
return localDiskCopy;
|
||||
}
|
||||
if (!Files.exists(moduleOutputFolder)) {
|
||||
Files.createDirectories(moduleOutputFolder);
|
||||
}
|
||||
|
||||
private void convertToJPEG(IngestJobContext context, Path localDiskCopy,
|
||||
return moduleOutputFolder;
|
||||
}
|
||||
|
||||
private void convertToJPEG(IngestJobContext context, byte[] heifBytes,
|
||||
AbstractFile heicFile) throws IOException, TskCoreException, NoCurrentCaseException {
|
||||
|
||||
// First step, run ImageMagick against this heic container.
|
||||
final Path moduleOutputFolder = getModuleOutputFolder(heicFile);
|
||||
Path outputFolder = createModuleOutputFolder(heicFile);
|
||||
|
||||
final String baseFileName = FilenameUtils.getBaseName(FileUtil.escapeFileName(heicFile.getName()));
|
||||
final Path outputFile = moduleOutputFolder.resolve(baseFileName + ".jpg");
|
||||
|
||||
final Path imageMagickErrorOutput = moduleOutputFolder.resolve(IMAGE_MAGICK_ERROR_FILE);
|
||||
Files.deleteIfExists(imageMagickErrorOutput);
|
||||
Files.createFile(imageMagickErrorOutput);
|
||||
|
||||
// ImageMagick will write the primary image to the output file.
|
||||
// Any additional images found within the HEIC container will be
|
||||
// formatted as fileName-1.jpg, fileName-2.jpg, etc.
|
||||
final ProcessBuilder processBuilder = new ProcessBuilder()
|
||||
.command(IMAGE_MAGICK_PATH.toString(),
|
||||
localDiskCopy.toString(),
|
||||
outputFile.toString());
|
||||
|
||||
processBuilder.redirectError(imageMagickErrorOutput.toFile());
|
||||
|
||||
final int exitStatus = ExecUtil.execute(processBuilder, new FileIngestModuleProcessTerminator(context, TIMEOUT_IN_SEC));
|
||||
final Path outputFile = outputFolder.resolve(baseFileName + ".jpg");
|
||||
|
||||
if (context.fileIngestIsCancelled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (exitStatus != EXIT_SUCCESS) {
|
||||
logger.log(Level.INFO, "Non-zero exit status for HEIC file [id: {0}]. Skipping...", heicFile.getId());
|
||||
try {
|
||||
this.heifJNI.convertToDisk(heifBytes, outputFile.toString());
|
||||
} catch (IllegalArgumentException | IllegalStateException ex) {
|
||||
logger.log(Level.WARNING, MessageFormat.format("There was an error processing {0} (id: {1}).", heicFile.getName(), heicFile.getId()), ex);
|
||||
return;
|
||||
} catch (Throwable ex) {
|
||||
logger.log(Level.SEVERE, MessageFormat.format("A severe error occurred while processing {0} (id: {1}).", heicFile.getName(), heicFile.getId()), ex);
|
||||
return;
|
||||
}
|
||||
|
||||
// Second step, visit all the output files and create derived files.
|
||||
// Glob for the pattern mentioned above.
|
||||
final String glob = String.format("{%1$s.jpg,%1$s-*.jpg}", baseFileName);
|
||||
try (DirectoryStream<Path> stream = Files.newDirectoryStream(moduleOutputFolder, glob)) {
|
||||
if (context.fileIngestIsCancelled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
final Path caseDirectory = Paths.get(Case.getCurrentCaseThrows().getCaseDirectory());
|
||||
for (Path candidate : stream) {
|
||||
|
||||
List<File> files = (List<File>) FileUtils.listFiles(outputFolder.toFile(), new String[]{"jpg", "jpeg"}, true);
|
||||
for (File file : files) {
|
||||
if (context.fileIngestIsCancelled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
Path candidate = file.toPath();
|
||||
|
||||
final BasicFileAttributes attrs = Files.readAttributes(candidate, BasicFileAttributes.class);
|
||||
final Path localCasePath = caseDirectory.relativize(candidate);
|
||||
|
||||
@ -233,10 +187,6 @@ public class HEICProcessor implements PictureProcessor {
|
||||
context.addFilesToJob(Arrays.asList(jpegFile));
|
||||
IngestServices.getInstance().fireModuleContentEvent(new ModuleContentEvent(jpegFile));
|
||||
}
|
||||
|
||||
} catch (DirectoryIteratorException ex) {
|
||||
throw ex.getCause();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Autopsy Forensic Browser
|
||||
*
|
||||
* Copyright 2022 Basis Technology Corp.
|
||||
* Contact: carrier <at> sleuthkit <dot> org
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.sleuthkit.autopsy.modules.pictureanalyzer.impls;
|
||||
|
||||
/**
|
||||
*
|
||||
* Interop with libheif native dependencies.
|
||||
*/
|
||||
public class HeifJNI {
|
||||
|
||||
private static HeifJNI instance = null;
|
||||
|
||||
/**
|
||||
* @return The singleton instance of this class.
|
||||
* @throws UnsatisfiedLinkError
|
||||
*/
|
||||
public static HeifJNI getInstance() throws UnsatisfiedLinkError {
|
||||
if (instance == null) {
|
||||
System.loadLibrary("vcruntime140_1");
|
||||
System.loadLibrary("libx265");
|
||||
System.loadLibrary("libde265");
|
||||
System.loadLibrary("heif");
|
||||
System.loadLibrary("jpeg62");
|
||||
System.loadLibrary("heifconvert");
|
||||
instance = new HeifJNI();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
private HeifJNI() {}
|
||||
|
||||
/**
|
||||
* Native method found in heif_convert.dll in third party libheif. Converts a heic/heif file to one or many jpegs.
|
||||
* @param data The heic/heif binary data.
|
||||
* @param jpgOutputPath The jpeg output file. A new file name will be calculated if multiple jpegs are generated.
|
||||
* @return The dll return code.
|
||||
*/
|
||||
public native int convertToDisk(byte[] data, String jpgOutputPath);
|
||||
}
|
@ -54,32 +54,32 @@ public class CorrelationAttributeNormalizerTest extends NbTestCase {
|
||||
|
||||
try {
|
||||
assertTrue("This hash should just work", CorrelationAttributeNormalizer.normalize(FILES_TYPE_ID, aValidHash).equals(aValidHash));
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
Exceptions.printStackTrace(ex);
|
||||
fail(ex.getMessage());
|
||||
}
|
||||
try {
|
||||
assertTrue("This hash just needs to be converted to lower case", CorrelationAttributeNormalizer.normalize(CorrelationAttributeInstance.FILES_TYPE_ID, aValidHashWithCaps).equals(aValidHash));
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
Exceptions.printStackTrace(ex);
|
||||
fail(ex.getMessage());
|
||||
}
|
||||
try {
|
||||
CorrelationAttributeNormalizer.normalize(FILES_TYPE_ID, anInValidHash);
|
||||
fail(THIS_SHOULD_HAVE_THROWN_AN_EXCEPTION);
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
|
||||
}
|
||||
try {
|
||||
CorrelationAttributeNormalizer.normalize(FILES_TYPE_ID, emptyHash);
|
||||
fail(THIS_SHOULD_HAVE_THROWN_AN_EXCEPTION);
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
|
||||
}
|
||||
try {
|
||||
CorrelationAttributeNormalizer.normalize(FILES_TYPE_ID, nullHash);
|
||||
fail(THIS_SHOULD_HAVE_THROWN_AN_EXCEPTION);
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
|
||||
}
|
||||
}
|
||||
@ -149,7 +149,7 @@ public class CorrelationAttributeNormalizerTest extends NbTestCase {
|
||||
String normalizedDomain = CorrelationAttributeNormalizer.normalize(DOMAIN_TYPE_ID, input);
|
||||
assertTrue(String.format("Expected domain '%s' to be normalized, but was null.", item.getOriginalString()), normalizedDomain != null);
|
||||
assertTrue(String.format("Was unable to normalize domain '%s' to '%s' but received %s instead.", input, expected, normalizedDomain), normalizedDomain.equals(expected));
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
Exceptions.printStackTrace(ex);
|
||||
fail(String.format("Unable to properly parse %s to %s. Received: %s", input, expected, ex.getMessage()));
|
||||
}
|
||||
@ -158,7 +158,7 @@ public class CorrelationAttributeNormalizerTest extends NbTestCase {
|
||||
try {
|
||||
CorrelationAttributeNormalizer.normalize(DOMAIN_TYPE_ID, item.getOriginalString());
|
||||
fail(String.format("Original string: '%s' should have failed to parse.", item.getOriginalString()));
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
|
||||
}
|
||||
}
|
||||
@ -178,43 +178,43 @@ public class CorrelationAttributeNormalizerTest extends NbTestCase {
|
||||
|
||||
try {
|
||||
assertTrue("This email should pass.", CorrelationAttributeNormalizer.normalize(EMAIL_TYPE_ID, goodEmailOne).equals(goodEmailOne));
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
Exceptions.printStackTrace(ex);
|
||||
fail(ex.getMessage());
|
||||
}
|
||||
try {
|
||||
assertTrue("This email should pass.", CorrelationAttributeNormalizer.normalize(EMAIL_TYPE_ID, goodEmailTwo).equals(goodEmailTwo.toLowerCase()));
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
Exceptions.printStackTrace(ex);
|
||||
fail(ex.getMessage());
|
||||
}
|
||||
try {
|
||||
CorrelationAttributeNormalizer.normalize(EMAIL_TYPE_ID, badEmailThree);
|
||||
fail(THIS_SHOULD_HAVE_THROWN_AN_EXCEPTION);
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
|
||||
}
|
||||
try {
|
||||
CorrelationAttributeNormalizer.normalize(EMAIL_TYPE_ID, badEmailFour);
|
||||
fail(THIS_SHOULD_HAVE_THROWN_AN_EXCEPTION);
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
|
||||
}
|
||||
try {
|
||||
CorrelationAttributeNormalizer.normalize(EMAIL_TYPE_ID, badEmailFive);
|
||||
fail(THIS_SHOULD_HAVE_THROWN_AN_EXCEPTION);
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
|
||||
}
|
||||
try { //TODO consider a better library?
|
||||
assertTrue("This email should pass", CorrelationAttributeNormalizer.normalize(EMAIL_TYPE_ID, goodEmailSix).equals(goodEmailSix));
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
fail(ex.getMessage());
|
||||
}
|
||||
try {
|
||||
CorrelationAttributeNormalizer.normalize(EMAIL_TYPE_ID, badEmailSeven);
|
||||
fail(THIS_SHOULD_HAVE_THROWN_AN_EXCEPTION);
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
|
||||
}
|
||||
}
|
||||
@ -234,56 +234,56 @@ public class CorrelationAttributeNormalizerTest extends NbTestCase {
|
||||
|
||||
try {
|
||||
assertTrue(THIS_PHONE_NUMBER_SHOULD_PASS, CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, goodPnOne).equals(goodPnOne));
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
Exceptions.printStackTrace(ex);
|
||||
fail(ex.getMessage());
|
||||
}
|
||||
try {
|
||||
assertTrue(THIS_PHONE_NUMBER_SHOULD_PASS, CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, goodPnTwo).equals(goodPnOne));
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
Exceptions.printStackTrace(ex);
|
||||
fail(ex.getMessage());
|
||||
}
|
||||
try {
|
||||
assertTrue(THIS_PHONE_NUMBER_SHOULD_PASS, CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, goodPnThree).equals(goodPnThree));
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
Exceptions.printStackTrace(ex);
|
||||
fail(ex.getMessage());
|
||||
}
|
||||
try {
|
||||
assertTrue(THIS_PHONE_NUMBER_SHOULD_PASS, CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, goodPnFour).equals(goodPnOne));
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
Exceptions.printStackTrace(ex);
|
||||
fail(ex.getMessage());
|
||||
}
|
||||
try {
|
||||
CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, badPnFive);
|
||||
//fail("This should have thrown an exception."); //this will eventually pass when we do a better job at this
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
|
||||
}
|
||||
try {
|
||||
assertTrue(THIS_PHONE_NUMBER_SHOULD_PASS, CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, goodPnSix).equals(goodPnThree));
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
Exceptions.printStackTrace(ex);
|
||||
fail(ex.getMessage());
|
||||
}
|
||||
try {
|
||||
assertTrue(THIS_PHONE_NUMBER_SHOULD_PASS, CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, goodPnSeven).equals(goodPnThree));
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
Exceptions.printStackTrace(ex);
|
||||
fail(ex.getMessage());
|
||||
}
|
||||
try {
|
||||
CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, badPnEight);
|
||||
fail("This should have thrown an exception.");
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
|
||||
}
|
||||
try {
|
||||
CorrelationAttributeNormalizer.normalize(PHONE_TYPE_ID, badPnNine);
|
||||
fail("This should have thrown an exception.");
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
assertTrue(WE_EXPECT_AN_EXCEPTION_HERE, true);
|
||||
}
|
||||
}
|
||||
@ -304,7 +304,7 @@ public class CorrelationAttributeNormalizerTest extends NbTestCase {
|
||||
|
||||
try {
|
||||
assertTrue(THIS_USB_ID_SHOULD_PASS, CorrelationAttributeNormalizer.normalize(USBID_TYPE_ID, goodIdOne).equals(goodIdOne));
|
||||
} catch (CorrelationAttributeNormalizationException ex) {
|
||||
} catch (CentralRepoException | CorrelationAttributeNormalizationException ex) {
|
||||
Assert.fail(ex.getMessage());
|
||||
}
|
||||
}
|
||||
|
@ -27,6 +27,11 @@
|
||||
<copy todir="${modules.dir}" >
|
||||
<fileset dir="${thirdparty.dir}/opencv" />
|
||||
</copy>
|
||||
|
||||
<!--Copy libheif dependencies to release-->
|
||||
<copy todir="${modules.dir}" >
|
||||
<fileset dir="${thirdparty.dir}/libheif/Release" />
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="get-deps" description="retrieve dependencies using ivy" depends="init-ivy,build-native-libs,get-thirdparty-dependencies">
|
||||
|
@ -43,6 +43,7 @@ import java.util.HashMap;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import org.apache.commons.io.FilenameUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.openide.util.NbBundle.Messages;
|
||||
import org.sleuthkit.autopsy.casemodule.Case;
|
||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||
@ -253,26 +254,19 @@ class Chromium extends Extract {
|
||||
tempList = this.querySQLiteDb(temps, HISTORY_QUERY);
|
||||
logger.log(Level.INFO, "{0}- Now getting history from {1} with {2} artifacts identified.", new Object[]{getDisplayName(), temps, tempList.size()}); //NON-NLS
|
||||
for (HashMap<String, Object> result : tempList) {
|
||||
Collection<BlackboardAttribute> bbattributes = new ArrayList<>();
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_URL,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
((result.get("url").toString() != null) ? result.get("url").toString() : ""))); //NON-NLS
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_DATETIME_ACCESSED,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
(Long.valueOf(result.get("last_visit_time").toString()) / 1000000) - Long.valueOf("11644473600"))); //NON-NLS
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_REFERRER,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
((result.get("from_visit").toString() != null) ? result.get("from_visit").toString() : ""))); //NON-NLS
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_TITLE,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
((result.get("title").toString() != null) ? result.get("title").toString() : ""))); //NON-NLS
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_PROG_NAME,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(), browser));
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_DOMAIN,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
(NetworkUtils.extractDomain((result.get("url").toString() != null) ? result.get("url").toString() : "")))); //NON-NLS
|
||||
String url = result.get("url") == null ? "" : result.get("url").toString();
|
||||
String extractedDomain = NetworkUtils.extractDomain(url);
|
||||
|
||||
try {
|
||||
Collection<BlackboardAttribute> bbattributes = createHistoryAttributes(
|
||||
StringUtils.defaultString(url),
|
||||
(Long.valueOf(result.get("last_visit_time").toString()) / 1000000) - Long.valueOf("11644473600"),
|
||||
result.get("from_visit") == null ? "" : result.get("from_visit").toString(),
|
||||
result.get("title") == null ? "" : result.get("title").toString(),
|
||||
browser,
|
||||
extractedDomain,
|
||||
"");
|
||||
|
||||
bbartifacts.add(createArtifactWithAttributes(BlackboardArtifact.Type.TSK_WEB_HISTORY, historyFile, bbattributes));
|
||||
} catch (TskCoreException ex) {
|
||||
logger.log(Level.SEVERE, String.format("Failed to create history artifact for file (%d)", historyFile.getId()), ex);
|
||||
|
@ -35,8 +35,10 @@ import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.sleuthkit.autopsy.casemodule.Case;
|
||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
import org.sleuthkit.autopsy.coreutils.NetworkUtils;
|
||||
import org.sleuthkit.autopsy.coreutils.SQLiteDBConnect;
|
||||
import org.sleuthkit.autopsy.datamodel.ContentUtils;
|
||||
import org.sleuthkit.autopsy.ingest.DataSourceIngestModuleProgress;
|
||||
@ -317,33 +319,44 @@ abstract class Extract {
|
||||
|
||||
Collection<BlackboardAttribute> bbattributes = new ArrayList<>();
|
||||
bbattributes.add(new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_URL,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
(url != null) ? url : "")); //NON-NLS
|
||||
RecentActivityExtracterModuleFactory.getModuleName(), url)); //NON-NLS
|
||||
|
||||
if (accessTime != null) {
|
||||
bbattributes.add(new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_DATETIME_ACCESSED,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(), accessTime));
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
accessTime));
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(referrer)) {
|
||||
bbattributes.add(new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_REFERRER,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
(referrer != null) ? referrer : "")); //NON-NLS
|
||||
referrer)); //NON-NLS
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(title)) {
|
||||
bbattributes.add(new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_TITLE,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
(title != null) ? title : "")); //NON-NLS
|
||||
title)); //NON-NLS
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(programName)) {
|
||||
bbattributes.add(new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_PROG_NAME,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
(programName != null) ? programName : "")); //NON-NLS
|
||||
programName)); //NON-NLS
|
||||
}
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(url)) {
|
||||
bbattributes.add(new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_DOMAIN,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
(domain != null) ? domain : "")); //NON-NLS
|
||||
domain)); //NON-NLS
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(user)) {
|
||||
bbattributes.add(new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_USER_NAME,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
(user != null) ? user : "")); //NON-NLS
|
||||
user)); //NON-NLS
|
||||
}
|
||||
|
||||
return bbattributes;
|
||||
}
|
||||
|
@ -154,22 +154,14 @@ class ExtractIE extends Extract {
|
||||
datetime = Long.valueOf(Tempdate);
|
||||
String domain = extractDomain(url);
|
||||
|
||||
Collection<BlackboardAttribute> bbattributes = new ArrayList<>();
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_URL,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(), url));
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_TITLE,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(), name));
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_DATETIME_CREATED,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(), datetime));
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_PROG_NAME,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
NbBundle.getMessage(this.getClass(), "ExtractIE.moduleName.text")));
|
||||
if (domain != null && domain.isEmpty() == false) {
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_DOMAIN,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(), domain));
|
||||
}
|
||||
|
||||
try {
|
||||
Collection<BlackboardAttribute> bbattributes = createBookmarkAttributes(
|
||||
url,
|
||||
name,
|
||||
datetime,
|
||||
NbBundle.getMessage(this.getClass(), "ExtractIE.moduleName.text"),
|
||||
domain);
|
||||
|
||||
bbartifacts.add(createArtifactWithAttributes(BlackboardArtifact.Type.TSK_WEB_BOOKMARK, fav, bbattributes));
|
||||
} catch (TskCoreException ex) {
|
||||
logger.log(Level.SEVERE, String.format("Failed to create %s for file %d", ARTIFACT_TYPE.TSK_WEB_BOOKMARK.getDisplayName(), fav.getId()), ex);
|
||||
@ -567,28 +559,16 @@ class ExtractIE extends Extract {
|
||||
}
|
||||
}
|
||||
|
||||
Collection<BlackboardAttribute> bbattributes = new ArrayList<>();
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_URL,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(), realurl));
|
||||
//bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_URL_DECODED.getTypeID(), "RecentActivity", EscapeUtil.decodeURL(realurl)));
|
||||
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_DATETIME_ACCESSED,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(), ftime));
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_REFERRER,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(), ""));
|
||||
// @@@ NOte that other browser modules are adding TITLE in here for the title
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_PROG_NAME,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
NbBundle.getMessage(this.getClass(),
|
||||
"ExtractIE.moduleName.text")));
|
||||
if (domain != null && domain.isEmpty() == false) {
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_DOMAIN,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(), domain));
|
||||
}
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_USER_NAME,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(), user));
|
||||
|
||||
try {
|
||||
Collection<BlackboardAttribute> bbattributes = createHistoryAttributes(
|
||||
realurl,
|
||||
ftime,
|
||||
null,
|
||||
null,
|
||||
NbBundle.getMessage(this.getClass(), "ExtractIE.moduleName.text"),
|
||||
domain,
|
||||
user);
|
||||
|
||||
bbartifacts.add(createArtifactWithAttributes(BlackboardArtifact.Type.TSK_WEB_HISTORY, origFile, bbattributes));
|
||||
} catch (TskCoreException ex) {
|
||||
logger.log(Level.SEVERE, String.format("Failed to create %s for file %d", BlackboardArtifact.Type.TSK_WEB_HISTORY.getDisplayName(), origFile.getId()), ex);
|
||||
|
@ -217,32 +217,19 @@ class Firefox extends Extract {
|
||||
}
|
||||
|
||||
String url = result.get("url").toString();
|
||||
|
||||
Collection<BlackboardAttribute> bbattributes = new ArrayList<>();
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_URL,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
((url != null) ? url : ""))); //NON-NLS
|
||||
//bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_URL_DECODED.getTypeID(), "RecentActivity", ((result.get("url").toString() != null) ? EscapeUtil.decodeURL(result.get("url").toString()) : "")));
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_DATETIME_ACCESSED,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
(Long.valueOf(result.get("visit_date").toString())))); //NON-NLS
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_REFERRER,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
((result.get("ref").toString() != null) ? result.get("ref").toString() : ""))); //NON-NLS
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_TITLE,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
((result.get("title").toString() != null) ? result.get("title").toString() : ""))); //NON-NLS
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_PROG_NAME,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(),
|
||||
NbBundle.getMessage(this.getClass(), "Firefox.moduleName")));
|
||||
String domain = extractDomain(url);
|
||||
if (domain != null && domain.isEmpty() == false) {
|
||||
bbattributes.add(new BlackboardAttribute(ATTRIBUTE_TYPE.TSK_DOMAIN,
|
||||
RecentActivityExtracterModuleFactory.getModuleName(), domain)); //NON-NLS
|
||||
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
Collection<BlackboardAttribute> bbattributes = createHistoryAttributes(
|
||||
url,
|
||||
Long.valueOf(result.get("visit_date").toString()),
|
||||
result.get("ref").toString(),
|
||||
result.get("title").toString(),
|
||||
NbBundle.getMessage(this.getClass(), "Firefox.moduleName"),
|
||||
domain,
|
||||
null);
|
||||
|
||||
|
||||
bbartifacts.add(createArtifactWithAttributes(BlackboardArtifact.Type.TSK_WEB_HISTORY, historyFile, bbattributes));
|
||||
} catch (TskCoreException ex) {
|
||||
logger.log(Level.SEVERE, String.format("Failed to create TSK_WEB_HISTORY artifact for file %d", historyFile.getId()), ex);
|
||||
|
@ -38,7 +38,7 @@ PROJECT_NAME = "Autopsy Developer Documentation"
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 4.12.0
|
||||
PROJECT_NUMBER = 4.19.3
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
@ -1025,7 +1025,7 @@ GENERATE_HTML = YES
|
||||
# The default directory is: html.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_OUTPUT = 4.12.0
|
||||
HTML_OUTPUT = 4.19.3
|
||||
|
||||
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
|
||||
# generated HTML page (for example: .htm, .php, .asp).
|
||||
|
@ -1,5 +1,5 @@
|
||||
<hr/>
|
||||
<p><i>Copyright © 2012-2021 Basis Technology. Generated on $date<br/>
|
||||
<p><i>Copyright © 2012-2022 Basis Technology. Generated on $date<br/>
|
||||
This work is licensed under a
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-Share Alike 3.0 United States License</a>.
|
||||
</i></p>
|
||||
|
@ -38,7 +38,7 @@ PROJECT_NAME = "Autopsy User Documentation"
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 4.19.2
|
||||
PROJECT_NUMBER = 4.19.3
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
@ -1025,7 +1025,7 @@ GENERATE_HTML = YES
|
||||
# The default directory is: html.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_OUTPUT = 4.19.2
|
||||
HTML_OUTPUT = 4.19.3
|
||||
|
||||
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
|
||||
# generated HTML page (for example: .htm, .php, .asp).
|
||||
|
@ -1,5 +1,5 @@
|
||||
<hr/>
|
||||
<p><i>Copyright © 2012-2021 Basis Technology. Generated on $date<br/>
|
||||
<p><i>Copyright © 2012-2022 Basis Technology. Generated on $date<br/>
|
||||
This work is licensed under a
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-Share Alike 3.0 United States License</a>.
|
||||
</i></p>
|
||||
|
@ -38,7 +38,7 @@ PROJECT_NAME = "Autopsy"
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 4.19.2
|
||||
PROJECT_NUMBER = 4.19.3
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears a the top of each page and should give viewer a
|
||||
@ -1066,7 +1066,7 @@ GENERATE_HTML = YES
|
||||
# The default directory is: html.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_OUTPUT = api-docs/4.19.2/
|
||||
HTML_OUTPUT = api-docs/4.19.3/
|
||||
|
||||
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
|
||||
# generated HTML page (for example: .htm, .php, .asp).
|
||||
|
@ -1,5 +1,5 @@
|
||||
<hr/>
|
||||
<p><i>Copyright © 2012-2021 Basis Technology. Generated on: $date<br/>
|
||||
<p><i>Copyright © 2012-2022 Basis Technology. Generated on: $date<br/>
|
||||
This work is licensed under a
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us/">Creative Commons Attribution-Share Alike 3.0 United States License</a>.
|
||||
</i></p>
|
||||
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,166 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns="http://usefulinc.com/ns/doap#">
|
||||
|
||||
<Project>
|
||||
<name>ImageMagick</name>
|
||||
<shortdesc xml:lang="en">ImageMagick: convert, edit, or compose images.</shortdesc>
|
||||
<homepage rdf:resource="http://www.imagemagick.org/"/>
|
||||
<created>2017-03-07</created>
|
||||
|
||||
<description xml:lang="en">
|
||||
Introduction to ImageMagick
|
||||
|
||||
ImageMagick® is a software suite to create, edit, compose, or convert
|
||||
bitmap images. It can read and write images in a variety of formats (over
|
||||
200) including PNG, JPEG, JPEG-2000, GIF, TIFF, DPX, EXR, WebP, Postscript,
|
||||
PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort,
|
||||
shear and transform images, adjust image colors, apply various special
|
||||
effects, or draw text, lines, polygons, ellipses and Bézier curves.
|
||||
|
||||
The functionality of ImageMagick is typically utilized from the command
|
||||
line or you can use the features from programs written in your favorite
|
||||
language. Choose from these interfaces: G2F (Ada), MagickCore (C),
|
||||
MagickWand (C), ChMagick (Ch), ImageMagickObject (COM+), Magick++ (C++),
|
||||
JMagick (Java), L-Magick (Lisp), Lua, NMagick (Neko/haXe), Magick.NET
|
||||
(.NET), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP
|
||||
(PHP), IMagick (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick
|
||||
(Tcl/TK). With a language interface, use ImageMagick to modify or create
|
||||
images dynamically and automagically.
|
||||
|
||||
ImageMagick utilizes multiple computational threads to increase performance
|
||||
and can read, process, or write mega-, giga-, or tera-pixel image sizes.
|
||||
|
||||
ImageMagick is free software delivered as a ready-to-run binary distribution
|
||||
or as source code that you may use, copy, modify, and distribute in both open
|
||||
and proprietary applications. It is distributed under the Apache 2.0 license.
|
||||
|
||||
The ImageMagick development process ensures a stable API and ABI. Before
|
||||
each ImageMagick release, we perform a comprehensive security assessment
|
||||
that includes memory error and thread data race detection to prevent
|
||||
security vulnerabilities.
|
||||
|
||||
ImageMagick is available from
|
||||
https://www.imagemagick.org/script/download.php. It runs on Linux, Windows,
|
||||
Mac Os X, iOS, Android OS, and others.
|
||||
|
||||
The authoritative ImageMagick web site is
|
||||
https://www.imagemagick.org. The authoritative source code repository is
|
||||
http://git.imagemagick.org/repos/ImageMagick/.
|
||||
|
||||
|
||||
Features and Capabilities
|
||||
|
||||
Here are just a few examples of what ImageMagick can do:
|
||||
|
||||
* Format conversion: convert an image from one format to another (e.g.
|
||||
PNG to JPEG).
|
||||
* Transform: resize, rotate, deskew, crop, flip or trim an image.
|
||||
* Transparency: render portions of an image invisible.
|
||||
* Draw: add shapes or text to an image.
|
||||
* Decorate: add a border or frame to an image.
|
||||
* Special effects: blur, sharpen, threshold, or tint an image.
|
||||
* Animation: create a GIF animation sequence from a group of images.
|
||||
* Text & comments: insert descriptive or artistic text in an image.
|
||||
* Image gradients: create a gradual blend of one color whose shape is
|
||||
horizontal, vertical, circular, or ellipical.
|
||||
* Image identification: describe the format and attributes of an image.
|
||||
* Composite: overlap one image over another.
|
||||
* Montage: juxtapose image thumbnails on an image canvas.
|
||||
* Generalized pixel distortion: correct for, or induce image distortions
|
||||
including perspective.
|
||||
* Computer vision: Canny edge detection.
|
||||
* Morphology of shapes: extract features, describe shapes and recognize
|
||||
patterns in images.
|
||||
* Motion picture support: read and write the common image formats used in
|
||||
digital film work.
|
||||
* Image calculator: apply a mathematical expression to an image or image
|
||||
channels.
|
||||
* Connected component labeling: uniquely label connected regions in an
|
||||
image.
|
||||
* Discrete Fourier transform: implements the forward and inverse DFT.
|
||||
* Perceptual hash: maps visually identical images to the same or similar
|
||||
hash-- useful in image retrieval, authentication, indexing, or copy
|
||||
detection as well as digital watermarking.
|
||||
* Complex text layout: bidirectional text support and shaping.
|
||||
* Color management: accurate color management with color profiles or in
|
||||
lieu of-- built-in gamma compression or expansion as demanded by the
|
||||
colorspace.
|
||||
* High dynamic-range images: accurately represent the wide range of
|
||||
intensity levels found in real scenes ranging from the brightest direct
|
||||
sunlight to the deepest darkest shadows.
|
||||
* Encipher or decipher an image: convert ordinary images into
|
||||
unintelligible gibberish and back again.
|
||||
* Virtual pixel support: convenient access to pixels outside the image
|
||||
region.
|
||||
* Large image support: read, process, or write mega-, giga-, or
|
||||
tera-pixel image sizes.
|
||||
* Threads of execution support: ImageMagick is thread safe and most
|
||||
internal algorithms are OpenMP-enabled to take advantage of speed-ups
|
||||
offered by multicore processor chips.
|
||||
* Distributed pixel cache: offload intermediate pixel storage to one or
|
||||
more remote servers.
|
||||
* Heterogeneous distributed processing: certain algorithms are
|
||||
OpenCL-enabled to take advantage of speed-ups offered by executing in
|
||||
concert across heterogeneous platforms consisting of CPUs, GPUs, and
|
||||
other processors.
|
||||
* ImageMagick on the iPhone: convert, edit, or compose images on your
|
||||
iPhone or iPad.
|
||||
|
||||
Examples of ImageMagick Usage shows how to use ImageMagick from the
|
||||
command-line to accomplish any of these tasks and much more. Also,
|
||||
see Fred's ImageMagick Scripts: a plethora of command-line scripts that
|
||||
perform geometric transforms, blurs, sharpens, edging, noise removal,
|
||||
and color manipulations. With Magick.NET, use ImageMagick without having
|
||||
to install ImageMagick on your server or desktop.
|
||||
</description>
|
||||
|
||||
<maintainer>
|
||||
<foaf:Person>
|
||||
<foaf:name>ImageMagick Studio LLC</foaf:name>
|
||||
<foaf:homepage rdf:resource="http://www.imagemagick.org/"/>
|
||||
</foaf:Person>
|
||||
</maintainer>
|
||||
|
||||
<release>
|
||||
<Version>
|
||||
<name>stable</name>
|
||||
<created>2017-03-07</created>
|
||||
<revision>7.0.5</revision>
|
||||
<patch-level>-0</patch-level>
|
||||
</Version>
|
||||
</release>
|
||||
|
||||
<download-page rdf:resource="http://www.imagemagick.org/script/download.php"/>
|
||||
<download-mirror rdf:resource="http://sourceforge.net/projects/imagemagick/"/>
|
||||
|
||||
<!-- Licensing details -->
|
||||
<license rdf:resource="http://www.imagemagick.org/script/license.php"/>
|
||||
|
||||
<!-- source repository -->
|
||||
<repository>
|
||||
<GITRepository>
|
||||
<repositoryWebView rdf:resource="https://github.com/ImageMagick/ImageMagick"/>
|
||||
</GITRepository>
|
||||
</repository>
|
||||
</Project>
|
||||
|
||||
|
||||
<!--
|
||||
optional administravia:
|
||||
authoring tools can add more here if they'd like.
|
||||
-->
|
||||
<rdf:Description rdf:about="">
|
||||
<foaf:maker>
|
||||
<foaf:Person>
|
||||
<foaf:name>ImageMagick Studio LLC</foaf:name>
|
||||
<foaf:homepage rdf:resource="http://www.imagemagick.org/"/>
|
||||
</foaf:Person>
|
||||
</foaf:maker>
|
||||
</rdf:Description>
|
||||
|
||||
</rdf:RDF>
|
||||
<!--
|
||||
Local variables:
|
||||
mode:nxml
|
||||
End:
|
||||
-->
|
@ -1,103 +0,0 @@
|
||||
Before we get to the text of the license, lets just review what the license says in simple terms:
|
||||
|
||||
It allows you to:
|
||||
|
||||
* freely download and use ImageMagick software, in whole or in part, for personal, company internal, or commercial purposes;
|
||||
* use ImageMagick software in packages or distributions that you create;
|
||||
* link against a library under a different license;
|
||||
* link code under a different license against a library under this license;
|
||||
* merge code into a work under a different license;
|
||||
* extend patent grants to any code using code under this license;
|
||||
* and extend patent protection.
|
||||
|
||||
It forbids you to:
|
||||
|
||||
* redistribute any piece of ImageMagick-originated software without proper attribution;
|
||||
* use any marks owned by ImageMagick Studio LLC in any way that might state or imply that ImageMagick Studio LLC endorses your distribution;
|
||||
* use any marks owned by ImageMagick Studio LLC in any way that might state or imply that you created the ImageMagick software in question.
|
||||
|
||||
It requires you to:
|
||||
|
||||
* include a copy of the license in any redistribution you may make that includes ImageMagick software;
|
||||
* provide clear attribution to ImageMagick Studio LLC for any distributions that include ImageMagick software.
|
||||
|
||||
It does not require you to:
|
||||
|
||||
* include the source of the ImageMagick software itself, or of any modifications you may have made to it, in any redistribution you may assemble that includes it;
|
||||
* submit changes that you make to the software back to the ImageMagick Studio LLC (though such feedback is encouraged).
|
||||
|
||||
A few other clarifications include:
|
||||
|
||||
* ImageMagick is freely available without charge;
|
||||
* you may include ImageMagick on a DVD as long as you comply with the terms of the license;
|
||||
* you can give modified code away for free or sell it under the terms of the ImageMagick license or distribute the result under a different license, but you need to acknowledge the use of the ImageMagick software;
|
||||
* the license is compatible with the GPL V3.
|
||||
* when exporting the ImageMagick software, review its export classification.
|
||||
|
||||
Terms and Conditions for Use, Reproduction, and Distribution
|
||||
|
||||
The legally binding and authoritative terms and conditions for use, reproduction, and distribution of ImageMagick follow:
|
||||
|
||||
Copyright 1999-2020 ImageMagick Studio LLC, a non-profit organization dedicated to making software imaging solutions freely available.
|
||||
|
||||
1. Definitions.
|
||||
|
||||
License shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
Licensor shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
|
||||
|
||||
Legal Entity shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, control means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
You (or Your) shall mean an individual or Legal Entity exercising permissions granted by this License.
|
||||
|
||||
Source form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
|
||||
|
||||
Object form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
|
||||
|
||||
Work shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
|
||||
|
||||
Derivative Works shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
|
||||
|
||||
Contribution shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as Not a Contribution.
|
||||
|
||||
Contributor shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
|
||||
|
||||
* You must give any other recipients of the Work or Derivative Works a copy of this License; and
|
||||
* You must cause any modified files to carry prominent notices stating that You changed the files; and
|
||||
* You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
|
||||
* If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
|
||||
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
|
||||
|
||||
How to Apply the License to your Work
|
||||
|
||||
To apply the ImageMagick License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information (don't include the brackets). The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the ImageMagick License (the "License"); you may not use
|
||||
this file except in compliance with the License. You may obtain a copy
|
||||
of the License at
|
||||
|
||||
https://imagemagick.org/script/license.php
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
License for the specific language governing permissions and limitations
|
||||
under the License.
|
File diff suppressed because it is too large
Load Diff
@ -1,140 +0,0 @@
|
||||
Introduction to ImageMagick
|
||||
|
||||
ImageMagick® is a software suite to create, edit, compose, or convert
|
||||
bitmap images. It can read and write images in a variety of formats (over
|
||||
200) including PNG, JPEG, GIF, HEIC, TIFF, DPX, EXR, WebP, Postscript,
|
||||
PDF, and SVG. Use ImageMagick to resize, flip, mirror, rotate, distort,
|
||||
shear and transform images, adjust image colors, apply various special
|
||||
effects, or draw text, lines, polygons, ellipses and Bézier curves.
|
||||
|
||||
The functionality of ImageMagick is typically utilized from the command
|
||||
line or you can use the features from programs written in your favorite
|
||||
language. Choose from these interfaces: G2F (Ada), MagickCore (C),
|
||||
MagickWand (C), ChMagick (Ch), ImageMagickObject (COM+), Magick++ (C++),
|
||||
JMagick (Java), L-Magick (Lisp), Lua, NMagick (Neko/haXe), Magick.NET
|
||||
(.NET), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP
|
||||
(PHP), IMagick (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick
|
||||
(Tcl/TK). With a language interface, use ImageMagick to modify or create
|
||||
images dynamically and automagically.
|
||||
|
||||
ImageMagick utilizes multiple computational threads to increase performance
|
||||
and can read, process, or write mega-, giga-, or tera-pixel image sizes.
|
||||
|
||||
ImageMagick is free software delivered as a ready-to-run binary distribution
|
||||
or as source code that you may use, copy, modify, and distribute in both open
|
||||
and proprietary applications. It is distributed under a derived Apache 2.0
|
||||
license.
|
||||
|
||||
The ImageMagick development process ensures a stable API and ABI. Before
|
||||
each ImageMagick release, we perform a comprehensive security assessment
|
||||
that includes memory error and thread data race detection to prevent
|
||||
security vulnerabilities.
|
||||
|
||||
The current release is the ImageMagick 7.0.9-* series. It runs on Linux,
|
||||
Windows, Mac Os X, iOS, Android OS, and others.
|
||||
|
||||
The authoritative ImageMagick web site is https://imagemagick.org. The
|
||||
authoritative source code repository is https://github.com/ImageMagick. We
|
||||
maintain a source code mirror at https://gitlab.com/ImageMagick.
|
||||
|
||||
We continue to maintain the legacy release of ImageMagick, version 6,
|
||||
at https://legacy.imagemagick.org.
|
||||
|
||||
|
||||
Features and Capabilities
|
||||
|
||||
Here are just a few examples of what ImageMagick can do:
|
||||
|
||||
* Format conversion: convert an image from one format to another (e.g.
|
||||
PNG to JPEG).
|
||||
* Transform: resize, rotate, deskew, crop, flip or trim an image.
|
||||
* Transparency: render portions of an image invisible.
|
||||
* Draw: add shapes or text to an image.
|
||||
* Decorate: add a border or frame to an image.
|
||||
* Special effects: blur, sharpen, threshold, or tint an image.
|
||||
* Animation: create a GIF animation sequence from a group of images.
|
||||
* Text & comments: insert descriptive or artistic text in an image.
|
||||
* Image gradients: create a gradual blend of one color whose shape is
|
||||
horizontal, vertical, circular, or ellipical.
|
||||
* Image identification: describe the format and attributes of an image.
|
||||
* Composite: overlap one image over another.
|
||||
* Montage: juxtapose image thumbnails on an image canvas.
|
||||
* Generalized pixel distortion: correct for, or induce image distortions
|
||||
including perspective.
|
||||
* Computer vision: Canny edge detection.
|
||||
* Morphology of shapes: extract features, describe shapes and recognize
|
||||
patterns in images.
|
||||
* Motion picture support: read and write the common image formats used in
|
||||
digital film work.
|
||||
* Image calculator: apply a mathematical expression to an image or image
|
||||
channels.
|
||||
* Connected component labeling: uniquely label connected regions in an
|
||||
image.
|
||||
* Discrete Fourier transform: implements the forward and inverse DFT.
|
||||
* Perceptual hash: maps visually identical images to the same or similar
|
||||
hash-- useful in image retrieval, authentication, indexing, or copy
|
||||
detection as well as digital watermarking.
|
||||
* Complex text layout: bidirectional text support and shaping.
|
||||
* Color management: accurate color management with color profiles or in
|
||||
lieu of-- built-in gamma compression or expansion as demanded by the
|
||||
colorspace.
|
||||
* High dynamic-range images: accurately represent the wide range of
|
||||
intensity levels found in real scenes ranging from the brightest direct
|
||||
sunlight to the deepest darkest shadows.
|
||||
* Encipher or decipher an image: convert ordinary images into
|
||||
unintelligible gibberish and back again.
|
||||
* Virtual pixel support: convenient access to pixels outside the image
|
||||
region.
|
||||
* Large image support: read, process, or write mega-, giga-, or
|
||||
tera-pixel image sizes.
|
||||
* Threads of execution support: ImageMagick is thread safe and most
|
||||
internal algorithms are OpenMP-enabled to take advantage of speed-ups
|
||||
offered by multicore processor chips.
|
||||
* Distributed pixel cache: offload intermediate pixel storage to one or
|
||||
more remote servers.
|
||||
* Heterogeneous distributed processing: certain algorithms are
|
||||
OpenCL-enabled to take advantage of speed-ups offered by executing in
|
||||
concert across heterogeneous platforms consisting of CPUs, GPUs, and
|
||||
other processors.
|
||||
* ImageMagick on the iPhone: convert, edit, or compose images on your
|
||||
iPhone or iPad.
|
||||
|
||||
Examples of ImageMagick Usage * https://imagemagick.org/Usage/
|
||||
shows how to use ImageMagick from the command-line to accomplish any
|
||||
of these tasks and much more. Also, see Fred's ImageMagick Scripts @
|
||||
http://www.fmwconcepts.com/imagemagick/: a plethora of command-line scripts
|
||||
that perform geometric transforms, blurs, sharpens, edging, noise removal,
|
||||
and color manipulations. With Magick.NET, use ImageMagick without having
|
||||
to install ImageMagick on your server or desktop.
|
||||
|
||||
|
||||
News
|
||||
|
||||
Now that ImageMagick version 7 is released, we continue
|
||||
to maintain the legacy release of ImageMagick, version 6, at
|
||||
https://legacy.imagemagick.org. Learn how ImageMagick version 7 differs
|
||||
from previous versions with our porting guide.
|
||||
|
||||
ImageMagick best practices strongly encourages you to configure a security
|
||||
policy that suits your local environment.
|
||||
|
||||
As an analog to linear (RGB) and non-linear (sRGB) color colorspaces, as
|
||||
of ImageMagick 7.0.7-17, we introduce the LinearGray colorspace. Gray is
|
||||
non-linear grayscale and LinearGray is linear (e.g. -colorspace linear-gray).
|
||||
|
||||
Want more performance from ImageMagick? Try these options:
|
||||
|
||||
Add more memory to your system, see the pixel cache; Add more cores to
|
||||
your system, see threads of execution support; push large images to a
|
||||
solid-state drive, see large image support.
|
||||
|
||||
If these options are prohibitive, you can reduce the quality of the image
|
||||
results. The default build is Q16 HDRI. If you disable HDRI, you use
|
||||
half the memory and instead of predominately floating point operations,
|
||||
you use the typically more efficient integer operations. The tradeoff
|
||||
is reduced precision and you cannot process out of range pixel values
|
||||
(e.g. negative). If you build the Q8 non-HDRI version of ImageMagick,
|
||||
you again reduce the memory requirements in half-- and once again there
|
||||
is a tradeoff, even less precision and no out of range pixel values. For
|
||||
a Q8 non-HDRI build of ImageMagick, use these configure script options:
|
||||
--with-quantum-depth=8 --disable-hdri.
|
@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE colormap [
|
||||
<!ELEMENT colormap (color)+>
|
||||
<!ELEMENT color (#PCDATA)>
|
||||
<!ATTLIST color name CDATA "0">
|
||||
<!ATTLIST color color CDATA "rgb(0,0,0)">
|
||||
<!ATTLIST color compliance CDATA "SVG">
|
||||
]>
|
||||
<!--
|
||||
Associate a color name with its red, green, blue, and alpha intensities.
|
||||
|
||||
A number of methods and options require a color parameter. It is often
|
||||
convenient to refer to a color by name (e.g. white) rather than by hex
|
||||
value (e.g. #fff). This file maps a color name to its equivalent red,
|
||||
green, blue, and alpha intensities (e.g. for white, red = 255, green =
|
||||
255, blue = 255, and alpha = 0).
|
||||
-->
|
||||
<colormap>
|
||||
<!-- <color name="none" color="rgba(0,0,0,0)" compliance="SVG, XPM"/> -->
|
||||
<!-- <color name="black" color="rgb(0,0,0)" compliance="SVG, X11, XPM"/> -->
|
||||
<!-- <color name="red" color="rgb(255,0,0)" compliance="SVG, X11, XPM"/> -->
|
||||
<!-- <color name="magenta" color="rgb(255,0,255)" compliance="SVG, X11, XPM"/> -->
|
||||
<!-- <color name="green" color="rgb(0,128,0)" compliance="SVG"/> -->
|
||||
<!-- <color name="cyan" color="rgb(0,255,255)" compliance="SVG, X11, XPM"/> -->
|
||||
<!-- <color name="blue" color="rgb(0,0,255)" compliance="SVG, X11, XPM"/> -->
|
||||
<!-- <color name="yellow" color="rgb(255,255,0)" compliance="SVG, X11, XPM"/> -->
|
||||
<!-- <color name="white" color="rgb(255,255,255)" compliance="SVG, X11"/> -->
|
||||
</colormap>
|
Binary file not shown.
Binary file not shown.
@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE configuremap [
|
||||
<!ELEMENT configuremap (configure)+>
|
||||
<!ELEMENT configure (#PCDATA)>
|
||||
<!ATTLIST configure name CDATA #REQUIRED>
|
||||
<!ATTLIST configure value CDATA #REQUIRED>
|
||||
]>
|
||||
<configuremap>
|
||||
<configure name="NAME" value="ImageMagick"/>
|
||||
<configure name="LIB_VERSION" value="0x70A"/>
|
||||
<configure name="LIB_VERSION_NUMBER" value="7,0,10,27"/>
|
||||
<configure name="RELEASE_DATE" value="2020-08-10"/>
|
||||
<configure name="VERSION" value="7.0.10"/>
|
||||
<configure name="CC" value="VS2019"/>
|
||||
<configure name="HOST" value="Windows"/>
|
||||
<configure name="COPYRIGHT" value="Copyright (C) 1999-2020 ImageMagick Studio LLC"/>
|
||||
<configure name="WEBSITE" value="http://www.imagemagick.org"/>
|
||||
</configuremap>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,102 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE delegatemap [
|
||||
<!ELEMENT delegatemap (delegate)+>
|
||||
<!ELEMENT delegate (#PCDATA)>
|
||||
<!ATTLIST delegate decode CDATA #IMPLIED>
|
||||
<!ATTLIST delegate encode CDATA #IMPLIED>
|
||||
<!ATTLIST delegate mode CDATA #IMPLIED>
|
||||
<!ATTLIST delegate spawn CDATA #IMPLIED>
|
||||
<!ATTLIST delegate stealth CDATA #IMPLIED>
|
||||
<!ATTLIST delegate thread-support CDATA #IMPLIED>
|
||||
<!ATTLIST delegate command CDATA #REQUIRED>
|
||||
]>
|
||||
<!--
|
||||
Delegate command file.
|
||||
|
||||
Commands which specify
|
||||
|
||||
decode="in_format" encode="out_format"
|
||||
|
||||
specify the rules for converting from in_format to out_format These
|
||||
rules may be used to translate directly between formats.
|
||||
|
||||
Commands which specify only
|
||||
|
||||
decode="in_format"
|
||||
|
||||
specify the rules for converting from in_format to some format that
|
||||
ImageMagick will automatically recognize. These rules are used to
|
||||
decode formats.
|
||||
|
||||
Commands which specify only
|
||||
|
||||
encode="out_format"
|
||||
|
||||
specify the rules for an "encoder" which may accept any input format.
|
||||
|
||||
For delegates other than ps:alpha, ps:color, ps:mono, and mpeg-encode the
|
||||
substitution rules are as follows:
|
||||
|
||||
%i input image filename
|
||||
%o output image filename
|
||||
%u unique temporary filename
|
||||
%# input image signature
|
||||
%b image file size
|
||||
%c input image comment
|
||||
%g image geometry
|
||||
%h image rows (height)
|
||||
%k input image number colors
|
||||
%l image label
|
||||
%m input image format
|
||||
%p page number
|
||||
%q input image depth
|
||||
%s scene number
|
||||
%w image columns (width)
|
||||
%x input image x resolution
|
||||
%y input image y resolution
|
||||
|
||||
-->
|
||||
<delegatemap>
|
||||
<delegate decode="bpg" command="cmd.exe /c ("bpgdec" -b 16 -o "%o.png" "%i") & (move "%o.png" "%o" >nul)"/>
|
||||
<delegate decode="png" encode="bpg" command=""bpgenc" -b 12 -q %~ -o "%o" "%i""/>
|
||||
<delegate decode="browse" stealth="True" spawn="True" command="cmd.exe /c start "" http://www.imagemagick.org/"/>
|
||||
<delegate decode="dng:decode" stealth="True" command="dcraw.exe -6 -W -O "%u.ppm" "%i""/>
|
||||
<delegate decode="dot" command="dot -Tps "%i" -o "%o""/>
|
||||
<delegate decode="dvi" command="dvips -q -o "%o" "%i""/>
|
||||
<delegate decode="edit" stealth="True" command="notepad "%o""/>
|
||||
<delegate decode="eps" encode="pdf" mode="bi" command=""@PSDelegate@" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -sDEVICE=pdfwrite "-sOutputFile=%o" -- "%i""/>
|
||||
<delegate decode="eps" encode="ps" mode="bi" command=""@PSDelegate@" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 -sDEVICE=ps2write "-sOutputFile=%o" -- "%i""/>
|
||||
<delegate decode="hpg" command="hp2xx -q -m eps -f "%o" "%i""/>
|
||||
<delegate decode="hpgl" command="hp2xx -q -m eps -f "%o" "%i""/>
|
||||
<delegate decode="htm" command="html2ps -U -o "%o" "%i""/>
|
||||
<delegate decode="html" command="html2ps -U -o "%o" "%i""/>
|
||||
<delegate decode="jxr" command="cmd.exe /c (move "%i" "%i.jxr" >nul) & ("JXRDecApp.exe" -i "%i.jxr" -o "%o.pnm") & (move "%i.jxr" "%i" >nul) & (move "%o.pnm" "%o" >nul)"/>
|
||||
<delegate decode="mpeg:decode" command=""ffmpeg.exe" -nostdin -v -1 -i "%i" -vframes %S -vcodec pam -an -f rawvideo -y "%u.pam""/>
|
||||
<delegate decode="pcl:cmyk" stealth="True" command=""pcl6.exe" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pamcmyk32" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
|
||||
<delegate decode="pcl:color" stealth="True" command=""pcl6.exe" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=ppmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
|
||||
<delegate decode="pcl:mono" stealth="True" command=""pcl6.exe" -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pbmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
|
||||
<delegate decode="pdf" encode="eps" mode="bi" command=""@PSDelegate@" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -sDEVICE=eps2write -sPDFPassword="%a" "-sOutputFile=%o" -- "%i""/>
|
||||
<delegate decode="pdf" encode="ps" mode="bi" command=""@PSDelegate@" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 -sDEVICE=ps2write -sPDFPassword="%a" "-sOutputFile=%o" -- "%i""/>
|
||||
<delegate decode="pgp" command="pgpv -fq "%i""/>
|
||||
<delegate decode="png" encode="launch" spawn="True" mode="encode" command="imdisplay "%i"" />
|
||||
<delegate decode="png" encode="show" spawn="True" mode="encode" command="imdisplay "%i"" />
|
||||
<delegate decode="png" encode="win" spawn="True" mode="encode" command="imdisplay "%i"" />
|
||||
<delegate decode="pnm" encode="ilbm" mode="encode" command="ppmtoilbm -24if "%i" > "%o""/>
|
||||
<delegate decode="pnm" encode="jxr" command="cmd.exe /c (move "%i" "%i.pnm" >nul) & ("JXREncApp.exe" -i "%i.pnm" -o "%o.jxr") & (move "%i.pnm" "%i" >nul) & (move "%o.jxr" "%o" >nul)"/>
|
||||
<delegate decode="pnm" encode="wdp" command="cmd.exe /c (move "%i" "%i.pnm" >nul) & ("JXREncApp.exe" -i "%i.pnm" -o "%o.jxr") & (move "%i.pnm" "%i" >nul) & (move "%o.jxr" "%o" >nul)"/>
|
||||
<delegate decode="ps:alpha" stealth="True" command=""@PSDelegate@" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
|
||||
<delegate decode="ps:cmyk" stealth="True" command=""@PSDelegate@" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pamcmyk32" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
|
||||
<delegate decode="ps:color" stealth="True" command=""@PSDelegate@" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
|
||||
<delegate decode="ps" encode="eps" mode="bi" command=""@PSDelegate@" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 -sDEVICE=eps2write "-sOutputFile=%o" -- "%i""/>
|
||||
<delegate decode="ps" encode="pdf" mode="bi" command=""@PSDelegate@" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 -sDEVICE=pdfwrite "-sOutputFile=%o" -- "%i""/>
|
||||
<delegate decode="ps:mono" stealth="True" command=""@PSDelegate@" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "-f%s" "-f%s""/>
|
||||
<delegate decode="shtml" command="html2ps -U -o "%o" "%i""/>
|
||||
<delegate decode="svg" command=""rsvg-convert" -o "%o" "%i""/>
|
||||
<!-- Remove the extra space in - -export in the line below when you want to use inkscape -->
|
||||
<!--<delegate decode="svg:decode" stealth="True" command=""inkscape" "%s" - -export-eps="%s" - -export-dpi="%s" - -export-background="%s" - -export-background-opacity="%s" > "%s" 2>&1"/>-->
|
||||
<delegate decode="wdp" command="cmd.exe /c (move "%i" "%i.jxr" >nul) & ("JXRDecApp.exe" -i "%i.jxr" -o "%o.pnm") & (move "%i.jxr" "%i" >nul) & (move "%o.pnm" "%o" >nul)"/>
|
||||
<delegate decode="xps:cmyk" stealth="True" command=""gxps.exe" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pamcmyk32" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
|
||||
<delegate decode="xps:color" stealth="True" command=""gxps.exe" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pnmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
|
||||
<delegate decode="xps:mono" stealth="True" command=""gxps.exe" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pbmraw" -dTextAlphaBits=%u -dGraphicsAlphaBits=%u "-r%s" %s "-sOutputFile=%s" "%s""/>
|
||||
<delegate encode="mpeg:encode" stealth="True" command=""ffmpeg.exe" -nostdin -v -1 -i "%M%%d.jpg" "%u.%m""/>
|
||||
</delegatemap>
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,48 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE localemap [
|
||||
<!ELEMENT localemap (include)+>
|
||||
<!ATTLIST localemap xmlns CDATA #FIXED ''>
|
||||
<!ELEMENT include EMPTY>
|
||||
<!ATTLIST include xmlns CDATA #FIXED '' file NMTOKEN #REQUIRED
|
||||
locale NMTOKEN #REQUIRED>
|
||||
]>
|
||||
<localemap>
|
||||
<include locale="no_NO.ISO-8859-1" file="bokmal.xml"/>
|
||||
<include locale="ca_ES.ISO-8859-1" file="catalan.xml"/>
|
||||
<include locale="hr_HR.ISO-8859-2" file="croatian.xml"/>
|
||||
<include locale="cs_CZ.ISO-8859-2" file="czech.xml"/>
|
||||
<include locale="da_DK.ISO-8859-1" file="danish.xml"/>
|
||||
<include locale="de_DE.ISO-8859-1" file="deutsch.xml"/>
|
||||
<include locale="nl_NL.ISO-8859-1" file="dutch.xml"/>
|
||||
<include locale="C" file="english.xml"/>
|
||||
<include locale="et_EE.ISO-8859-1" file="estonian.xml"/>
|
||||
<include locale="fi_FI.ISO-8859-1" file="finnish.xml"/>
|
||||
<include locale="fr_FR.ISO-8859-1" file="francais.xml"/>
|
||||
<include locale="fr_FR.ISO-8859-1" file="francais.xml"/>
|
||||
<include locale="fr_FR.UTF-8" file="francais.xml"/>
|
||||
<include locale="gl_ES.ISO-8859-1" file="galego.xml"/>
|
||||
<include locale="gl_ES.ISO-8859-1" file="galician.xml"/>
|
||||
<include locale="de_DE.ISO-8859-1" file="german.xml"/>
|
||||
<include locale="el_GR.ISO-8859-7" file="greek.xml"/>
|
||||
<include locale="en_US.UTF-8" file="english.xml"/>
|
||||
<include locale="iw_IL.ISO-8859-8" file="hebrew.xml"/>
|
||||
<include locale="hr_HR.ISO-8859-2" file="hrvatski.xml"/>
|
||||
<include locale="hu_HU.ISO-8859-2" file="hungarian.xml"/>
|
||||
<include locale="is_IS.ISO-8859-1" file="icelandic.xml"/>
|
||||
<include locale="it_IT.ISO-8859-1" file="italian.xml"/>
|
||||
<include locale="ja_JP.eucJP" file="japanese.xml"/>
|
||||
<include locale="ko_KR.eucKR" file="korean.xml"/>
|
||||
<include locale="lt_LT.ISO-8859-13" file="lithuanian.xml"/>
|
||||
<include locale="no_NO.ISO-8859-1" file="norwegian.xml"/>
|
||||
<include locale="nn_NO.ISO-8859-1" file="nynorsk.xml"/>
|
||||
<include locale="pl_PL.ISO-8859-2" file="polish.xml"/>
|
||||
<include locale="pt_PT.ISO-8859-1" file="portuguese.xml"/>
|
||||
<include locale="ro_RO.ISO-8859-2" file="romanian.xml"/>
|
||||
<include locale="ru_RU.ISO-8859-5" file="russian.xml"/>
|
||||
<include locale="sk_SK.ISO-8859-2" file="slovak.xml"/>
|
||||
<include locale="sl_SI.ISO-8859-2" file="slovene.xml"/>
|
||||
<include locale="es_ES.ISO-8859-1" file="spanish.xml"/>
|
||||
<include locale="sv_SE.ISO-8859-1" file="swedish.xml"/>
|
||||
<include locale="th_TH.TIS-620" file="thai.xml"/>
|
||||
<include locale="tr_TR.ISO-8859-9" file="turkish.xml"/>
|
||||
</localemap>
|
@ -1,80 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE logmap [
|
||||
<!ELEMENT logmap (log)+>
|
||||
<!ELEMENT log (#PCDATA)>
|
||||
<!ATTLIST log events CDATA #IMPLIED>
|
||||
<!ATTLIST log output CDATA #IMPLIED>
|
||||
<!ATTLIST log filename CDATA #IMPLIED>
|
||||
<!ATTLIST log generations CDATA #IMPLIED>
|
||||
<!ATTLIST log limit CDATA #IMPLIED>
|
||||
<!ATTLIST log format CDATA #IMPLIED>
|
||||
]>
|
||||
<!--
|
||||
Configure ImageMagick logger.
|
||||
|
||||
Choose from one or more these events separated by a comma:
|
||||
all
|
||||
accelerate
|
||||
annotate
|
||||
blob
|
||||
cache
|
||||
coder
|
||||
command
|
||||
configure
|
||||
deprecate
|
||||
draw
|
||||
exception
|
||||
locale
|
||||
module
|
||||
none
|
||||
pixel
|
||||
policy
|
||||
resource
|
||||
trace
|
||||
transform
|
||||
user
|
||||
wand
|
||||
x11
|
||||
|
||||
Choose one output handler:
|
||||
console
|
||||
debug
|
||||
event
|
||||
file
|
||||
none
|
||||
stderr
|
||||
stdout
|
||||
|
||||
When output is to a file, specify the filename. Embed %g in the filename to
|
||||
support log generations. Generations is the number of log files to retain.
|
||||
Limit is the number of logging events before generating a new log generation.
|
||||
|
||||
The format of the log is defined by embedding special format characters:
|
||||
|
||||
%c client
|
||||
%d domain
|
||||
%e event
|
||||
%f function
|
||||
%g generation
|
||||
%i thread id
|
||||
%l line
|
||||
%m module
|
||||
%n log name
|
||||
%p process id
|
||||
%r real CPU time
|
||||
%t wall clock time
|
||||
%u user CPU time
|
||||
%v version
|
||||
%% percent sign
|
||||
\n newline
|
||||
\r carriage return
|
||||
xml
|
||||
-->
|
||||
<logmap>
|
||||
<log events="None"/>
|
||||
<log output="console"/>
|
||||
<log filename="Magick-%g.log"/>
|
||||
<log generations="3"/>
|
||||
<log limit="2000"/>
|
||||
<log format="%t %r %u %v %d %c[%p]: %m/%f/%l/%d\n %e"/>
|
||||
</logmap>
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
@ -1,74 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE policymap [
|
||||
<!ELEMENT policymap (policy)+>
|
||||
<!ATTLIST policymap xmlns CDATA #FIXED ''>
|
||||
<!ELEMENT policy EMPTY>
|
||||
<!ATTLIST policy xmlns CDATA #FIXED '' domain NMTOKEN #REQUIRED
|
||||
name NMTOKEN #IMPLIED pattern CDATA #IMPLIED rights CDATA #IMPLIED
|
||||
stealth NMTOKEN #IMPLIED value CDATA #IMPLIED>
|
||||
]>
|
||||
<!--
|
||||
Configure ImageMagick policies.
|
||||
|
||||
Domains include system, delegate, coder, filter, path, or resource.
|
||||
|
||||
Rights include none, read, write, execute, and all. Use | to combine them,
|
||||
for example: "read | write" to permit read from, or write to, a path.
|
||||
|
||||
Use a glob expression as a pattern.
|
||||
|
||||
Suppose we do not want users to process MPEG video images:
|
||||
|
||||
<policy domain="delegate" rights="none" pattern="mpeg:decode" />
|
||||
|
||||
Here we do not want users reading images from HTTP:
|
||||
|
||||
<policy domain="coder" rights="none" pattern="HTTP" />
|
||||
|
||||
Lets prevent users from executing any image filters:
|
||||
|
||||
<policy domain="filter" rights="none" pattern="*" />
|
||||
|
||||
The /repository file system is restricted to read only. We use a glob
|
||||
expression to match all paths that start with /repository:
|
||||
|
||||
<policy domain="path" rights="read" pattern="/repository/*" />
|
||||
|
||||
Lets prevent users from executing any image filters:
|
||||
|
||||
<policy domain="filter" rights="none" pattern="*" />
|
||||
|
||||
Any large image is cached to disk rather than memory:
|
||||
|
||||
<policy domain="resource" name="area" value="1GB"/>
|
||||
|
||||
Define arguments for the memory, map, area, width, height and disk resources
|
||||
with SI prefixes (.e.g 100MB). In addition, resource policies are maximums
|
||||
for each instance of ImageMagick (e.g. policy memory limit 1GB, -limit 2GB
|
||||
exceeds policy maximum so memory limit is 1GB).
|
||||
|
||||
Rules are processed in order. Here we want to restrict ImageMagick to only
|
||||
read or write a small subset of proven web-safe image types:
|
||||
|
||||
<policy domain="delegate" rights="none" pattern="*" />
|
||||
<policy domain="coder" rights="none" pattern="*" />
|
||||
<policy domain="coder" rights="read|write" pattern="{GIF,JPEG,PNG,WEBP}" />
|
||||
-->
|
||||
<policymap>
|
||||
<!-- <policy domain="resource" name="temporary-path" value="/tmp"/> -->
|
||||
<!-- <policy domain="resource" name="memory" value="2GiB"/> -->
|
||||
<!-- <policy domain="resource" name="map" value="4GiB"/> -->
|
||||
<!-- <policy domain="resource" name="width" value="10MP"/> -->
|
||||
<!-- <policy domain="resource" name="height" value="10MP"/> -->
|
||||
<!-- <policy domain="resource" name="area" value="1GB"/> -->
|
||||
<!-- <policy domain="resource" name="disk" value="16EB"/> -->
|
||||
<!-- <policy domain="resource" name="file" value="768"/> -->
|
||||
<!-- <policy domain="resource" name="thread" value="4"/> -->
|
||||
<!-- <policy domain="resource" name="throttle" value="0"/> -->
|
||||
<!-- <policy domain="resource" name="time" value="3600"/> -->
|
||||
<!-- <policy domain="system" name="precision" value="6"/> -->
|
||||
<!-- <policy domain="coder" rights="none" pattern="MVG" /> -->
|
||||
<!-- <policy domain="delegate" rights="none" pattern="HTTPS" /> -->
|
||||
<!-- <policy domain="path" rights="none" pattern="@*" /> -->
|
||||
<policy domain="cache" name="shared-secret" value="passphrase" stealth="true"/>
|
||||
</policymap>
|
@ -1,68 +0,0 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE quantization-tables [
|
||||
<!ELEMENT quantization-tables (table)>
|
||||
<!ATTLIST quantization-tables xmlns CDATA #FIXED "">
|
||||
<!ELEMENT table (description , levels)>
|
||||
<!ATTLIST table xmlns CDATA #FIXED "">
|
||||
<!ATTLIST table alias NMTOKEN #REQUIRED>
|
||||
<!ATTLIST table slot CDATA #REQUIRED>
|
||||
<!ELEMENT description (#PCDATA)>
|
||||
<!ATTLIST description xmlns CDATA #FIXED "">
|
||||
<!ELEMENT levels (#PCDATA)>
|
||||
<!ATTLIST levels xmlns CDATA #FIXED "">
|
||||
<!ATTLIST levels divisor CDATA #REQUIRED>
|
||||
<!ATTLIST levels height CDATA #REQUIRED>
|
||||
<!ATTLIST levels width CDATA #REQUIRED>
|
||||
]>
|
||||
<!--
|
||||
JPEG quantization table created by Dr. Nicolas Robidoux, Senior Research
|
||||
Scientist at Phase One (www.phaseone.com) for use with 2x2 Chroma
|
||||
subsampling and (IJG-style, hence ImageMagick-style) quality level
|
||||
around 75.
|
||||
|
||||
It is based on the one recommended in
|
||||
|
||||
Relevance of human vision to JPEG-DCT compression by Stanley A. Klein,
|
||||
Amnon D. Silverstein and Thom Carney. In Human Vision, Visual
|
||||
Processing and Digital Display III, 1992.
|
||||
|
||||
for 1 minute per pixel viewing.
|
||||
|
||||
Specifying only one table in this xml file has two effects when used with
|
||||
the ImageMagick option
|
||||
|
||||
-define jpeg:q-table=PATH/TO/THIS/FILE
|
||||
|
||||
1) This quantization table is automatically used for all three channels;
|
||||
|
||||
2) Only one copy is embedded in the JPG file, which saves a few bits
|
||||
(only worthwhile for very small thumbnails).
|
||||
-->
|
||||
<quantization-tables>
|
||||
<table slot="0" alias="luma">
|
||||
<description>Luma Quantization Table</description>
|
||||
<levels width="8" height="8" divisor="1">
|
||||
16, 16, 16, 18, 25, 37, 56, 85,
|
||||
16, 17, 20, 27, 34, 40, 53, 75,
|
||||
16, 20, 24, 31, 43, 62, 91, 135,
|
||||
18, 27, 31, 40, 53, 74, 106, 156,
|
||||
25, 34, 43, 53, 69, 94, 131, 189,
|
||||
37, 40, 62, 74, 94, 124, 169, 238,
|
||||
56, 53, 91, 106, 131, 169, 226, 311,
|
||||
85, 75, 135, 156, 189, 238, 311, 418
|
||||
</levels>
|
||||
</table>
|
||||
<!--
|
||||
If you want to use a different quantization table for Chroma, for example,
|
||||
just add:
|
||||
|
||||
<table slot="1" alias="chroma">
|
||||
<description>Chroma Quantization Table</description>
|
||||
INSERT 64 POSITIVE INTEGERS HERE, COMMA-SEPARATED
|
||||
</levels>
|
||||
</table>
|
||||
|
||||
here (but outside of these comments).
|
||||
-->
|
||||
</quantization-tables>
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1,334 +0,0 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE thresholds [
|
||||
<!ELEMENT thresholds (threshold)+>
|
||||
<!ELEMENT threshold (description , levels)>
|
||||
<!ELEMENT description (CDATA)>
|
||||
<!ELEMENT levels (CDATA)>
|
||||
<!ATTLIST threshold map ID #REQUIRED>
|
||||
<!ATTLIST levels width CDATA #REQUIRED>
|
||||
<!ATTLIST levels height CDATA #REQUIRED>
|
||||
<!ATTLIST levels divisor CDATA #REQUIRED>
|
||||
]>
|
||||
<!--
|
||||
Threshold Maps for Ordered Posterized Dither
|
||||
|
||||
Each "<threshold>" element defines the map name, description, and an array
|
||||
of "levels" used to provide the threshold map for ordered dithering and
|
||||
digital halftoning.
|
||||
|
||||
The "alias" attribute provides a backward compatible name for this threshold
|
||||
map (pre-dating IM v6.2.9-6), and are deprecated.
|
||||
|
||||
The description is a english description of what the threshold map achieves
|
||||
and is only used for 'listing' the maps.
|
||||
|
||||
The map itself is a rectangular array of integers or threshold "levels"
|
||||
of the given "width" and "height" declared within the enclosing <levels>
|
||||
element. That is "width*height" integers or "levels" *must* be provided
|
||||
within each map.
|
||||
|
||||
Each of the "levels" integer values (each value representing the threshold
|
||||
intensity "level/divisor" at which that pixel is turned on. The "levels"
|
||||
integers given can be any postive integers between "0" and the "divisor",
|
||||
excluding those limits.
|
||||
|
||||
The "divisor" not only defines the upper limit and threshold divisor for each
|
||||
"level" but also the total number of pseudo-levels the threshold mapping
|
||||
creates and fills with a dither pattern. That is a ordered bitmap dither
|
||||
of a pure greyscale gradient will use a maximum of "divisor" ordered bitmap
|
||||
patterns, including the patterns with all the pixels 'on' and all the pixel
|
||||
'off'. It may define less patterns than that, but the color channels will
|
||||
be thresholded in units based on "divisor".
|
||||
|
||||
Alternatively for a multi-level posterization, ImageMagick inserts
|
||||
"divisor-2" dither patterns (as defined by the threshold map) between each of
|
||||
channel color level produced.
|
||||
|
||||
For example the map "o2x2" has a divisor of 5, which will define 3 bitmap
|
||||
patterns plus the patterns with all pixels 'on' and 'off'. A greyscale
|
||||
gradient will thus have 5 distinct areas.
|
||||
-->
|
||||
<thresholds>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
Minimal Dither and Non-Dither Threshold Maps
|
||||
-->
|
||||
<threshold map="threshold" alias="1x1">
|
||||
<description>Threshold 1x1 (non-dither)</description>
|
||||
<levels width="1" height="1" divisor="2">
|
||||
1
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<threshold map="checks" alias="2x1">
|
||||
<description>Checkerboard 2x1 (dither)</description>
|
||||
<levels width="2" height="2" divisor="3">
|
||||
1 2
|
||||
2 1
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
(dispersed) Ordered Dither Patterns
|
||||
-->
|
||||
<threshold map="o2x2" alias="2x2">
|
||||
<description>Ordered 2x2 (dispersed)</description>
|
||||
<levels width="2" height="2" divisor="5">
|
||||
1 3
|
||||
4 2
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<threshold map="o3x3" alias="3x3">
|
||||
<description>Ordered 3x3 (dispersed)</description>
|
||||
<levels width="3" height="3" divisor="10">
|
||||
3 7 4
|
||||
6 1 9
|
||||
2 8 5
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<threshold map="o4x4" alias="4x4">
|
||||
<!--
|
||||
From "Dithering Algorithms"
|
||||
http://www.efg2.com/Lab/Library/ImageProcessing/DHALF.TXT
|
||||
-->
|
||||
<description>Ordered 4x4 (dispersed)</description>
|
||||
<levels width="4" height="4" divisor="17">
|
||||
1 9 3 11
|
||||
13 5 15 7
|
||||
4 12 2 10
|
||||
16 8 14 6
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<threshold map="o8x8" alias="8x8">
|
||||
<!-- Extracted from original 'OrderedDither()' Function -->
|
||||
<description>Ordered 8x8 (dispersed)</description>
|
||||
<levels width="8" height="8" divisor="65">
|
||||
1 49 13 61 4 52 16 64
|
||||
33 17 45 29 36 20 48 32
|
||||
9 57 5 53 12 60 8 56
|
||||
41 25 37 21 44 28 40 24
|
||||
3 51 15 63 2 50 14 62
|
||||
35 19 47 31 34 18 46 30
|
||||
11 59 7 55 10 58 6 54
|
||||
43 27 39 23 42 26 38 22
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
Halftones - Angled 45 degrees
|
||||
|
||||
Initially added to ImageMagick by Glenn Randers-Pehrson, IM v6.2.8-6,
|
||||
modified to be more symmetrical with intensity by Anthony, IM v6.2.9-7
|
||||
|
||||
These patterns initially start as circles, but then form diamonds
|
||||
pattern at the 50% threshold level, before forming negated circles,
|
||||
as it approached the other threshold extereme.
|
||||
-->
|
||||
<threshold map="h4x4a" alias="4x1">
|
||||
<description>Halftone 4x4 (angled)</description>
|
||||
<levels width="4" height="4" divisor="9">
|
||||
4 2 7 5
|
||||
3 1 8 6
|
||||
7 5 4 2
|
||||
8 6 3 1
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<threshold map="h6x6a" alias="6x1">
|
||||
<description>Halftone 6x6 (angled)</description>
|
||||
<levels width="6" height="6" divisor="19">
|
||||
14 13 10 8 2 3
|
||||
16 18 12 7 1 4
|
||||
15 17 11 9 6 5
|
||||
8 2 3 14 13 10
|
||||
7 1 4 16 18 12
|
||||
9 6 5 15 17 11
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<threshold map="h8x8a" alias="8x1">
|
||||
<description>Halftone 8x8 (angled)</description>
|
||||
<levels width="8" height="8" divisor="33">
|
||||
13 7 8 14 17 21 22 18
|
||||
6 1 3 9 28 31 29 23
|
||||
5 2 4 10 27 32 30 24
|
||||
16 12 11 15 20 26 25 19
|
||||
17 21 22 18 13 7 8 14
|
||||
28 31 29 23 6 1 3 9
|
||||
27 32 30 24 5 2 4 10
|
||||
20 26 25 19 16 12 11 15
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
Halftones - Orthogonally Aligned, or Un-angled
|
||||
|
||||
Initially added by Anthony Thyssen, IM v6.2.9-5 using techniques from
|
||||
"Dithering & Halftoning" by Gernot Haffmann
|
||||
http://www.fho-emden.de/~hoffmann/hilb010101.pdf
|
||||
|
||||
These patterns initially start as circles, but then form square
|
||||
pattern at the 50% threshold level, before forming negated circles,
|
||||
as it approached the other threshold extereme.
|
||||
-->
|
||||
<threshold map="h4x4o">
|
||||
<description>Halftone 4x4 (orthogonal)</description>
|
||||
<levels width="4" height="4" divisor="17">
|
||||
7 13 11 4
|
||||
12 16 14 8
|
||||
10 15 6 2
|
||||
5 9 3 1
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<threshold map="h6x6o">
|
||||
<description>Halftone 6x6 (orthogonal)</description>
|
||||
<levels width="6" height="6" divisor="37">
|
||||
7 17 27 14 9 4
|
||||
21 29 33 31 18 11
|
||||
24 32 36 34 25 22
|
||||
19 30 35 28 20 10
|
||||
8 15 26 16 6 2
|
||||
5 13 23 12 3 1
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<threshold map="h8x8o">
|
||||
<description>Halftone 8x8 (orthogonal)</description>
|
||||
<levels width="8" height="8" divisor="65">
|
||||
7 21 33 43 36 19 9 4
|
||||
16 27 51 55 49 29 14 11
|
||||
31 47 57 61 59 45 35 23
|
||||
41 53 60 64 62 52 40 38
|
||||
37 44 58 63 56 46 30 22
|
||||
15 28 48 54 50 26 17 10
|
||||
8 18 34 42 32 20 6 2
|
||||
5 13 25 39 24 12 3 1
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<threshold map="h16x16o">
|
||||
<!--
|
||||
Direct extract from "Dithering & Halftoning" by Gernot Haffmann.
|
||||
This may need some fine tuning for symmetry of the halftone dots,
|
||||
as it was a mathematically formulated pattern.
|
||||
-->
|
||||
<description>Halftone 16x16 (orthogonal)</description>
|
||||
<levels width="16" height="16" divisor="257">
|
||||
4 12 24 44 72 100 136 152 150 134 98 70 42 23 11 3
|
||||
7 16 32 52 76 104 144 160 158 142 102 74 50 31 15 6
|
||||
19 27 40 60 92 132 168 180 178 166 130 90 58 39 26 18
|
||||
36 48 56 80 124 176 188 204 203 187 175 122 79 55 47 35
|
||||
64 68 84 116 164 200 212 224 223 211 199 162 114 83 67 63
|
||||
88 96 112 156 192 216 232 240 239 231 214 190 154 111 95 87
|
||||
108 120 148 184 208 228 244 252 251 243 226 206 182 147 119 107
|
||||
128 140 172 196 219 235 247 256 255 246 234 218 194 171 139 127
|
||||
126 138 170 195 220 236 248 253 254 245 233 217 193 169 137 125
|
||||
106 118 146 183 207 227 242 249 250 241 225 205 181 145 117 105
|
||||
86 94 110 155 191 215 229 238 237 230 213 189 153 109 93 85
|
||||
62 66 82 115 163 198 210 221 222 209 197 161 113 81 65 61
|
||||
34 46 54 78 123 174 186 202 201 185 173 121 77 53 45 33
|
||||
20 28 37 59 91 131 167 179 177 165 129 89 57 38 25 17
|
||||
8 13 29 51 75 103 143 159 157 141 101 73 49 30 14 5
|
||||
1 9 21 43 71 99 135 151 149 133 97 69 41 22 10 2
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
Halftones - Orthogonally Expanding Circle Patterns
|
||||
|
||||
Added by Glenn Randers-Pehrson, 4 Nov 2010, ImageMagick 6.6.5-6
|
||||
|
||||
Rather than producing a diamond 50% threshold pattern, these
|
||||
continue to generate larger (overlapping) circles. They are
|
||||
more like a true halftone pattern formed by covering a surface
|
||||
with either pure white or pure black circular dots.
|
||||
|
||||
WARNING: true halftone patterns only use true circles even in
|
||||
areas of highly varying intensity. Threshold dither patterns
|
||||
can generate distorted circles in such areas.
|
||||
-->
|
||||
|
||||
<threshold map="c5x5b" alias="c5x5">
|
||||
<description>Circles 5x5 (black)</description>
|
||||
<levels width="5" height="5" divisor="26">
|
||||
1 21 16 15 4
|
||||
5 17 20 19 14
|
||||
6 21 25 24 12
|
||||
7 18 22 23 11
|
||||
2 8 9 10 3
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
|
||||
<threshold map="c5x5w">
|
||||
<description>Circles 5x5 (white)</description>
|
||||
<levels width="5" height="5" divisor="26">
|
||||
25 21 10 11 22
|
||||
20 9 6 7 12
|
||||
19 5 1 2 13
|
||||
18 8 4 3 14
|
||||
24 17 16 15 23
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<threshold map="c6x6b" alias="c6x6">
|
||||
<description>Circles 6x6 (black)</description>
|
||||
<levels width="6" height="6" divisor="37">
|
||||
1 5 14 13 12 4
|
||||
6 22 28 27 21 11
|
||||
15 29 35 34 26 20
|
||||
16 30 36 33 25 19
|
||||
7 23 31 32 24 10
|
||||
2 8 17 18 9 3
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<threshold map="c6x6w">
|
||||
<description>Circles 6x6 (white)</description>
|
||||
<levels width="6" height="6" divisor="37">
|
||||
36 32 23 24 25 33
|
||||
31 15 9 10 16 26
|
||||
22 8 2 3 11 17
|
||||
21 7 1 4 12 18
|
||||
30 14 6 5 13 27
|
||||
35 29 20 19 28 34
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
<threshold map="c7x7b" alias="c7x7">
|
||||
<description>Circles 7x7 (black)</description>
|
||||
<levels width="7" height="7" divisor="50">
|
||||
3 9 18 28 17 8 2
|
||||
10 24 33 39 32 23 7
|
||||
19 34 44 48 43 31 16
|
||||
25 40 45 49 47 38 27
|
||||
20 35 41 46 42 29 15
|
||||
11 21 36 37 28 22 6
|
||||
4 12 13 26 14 5 1
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
|
||||
<threshold map="c7x7w">
|
||||
<description>Circles 7x7 (white)</description>
|
||||
<levels width="7" height="7" divisor="50">
|
||||
47 41 32 22 33 42 48
|
||||
40 26 17 11 18 27 43
|
||||
31 16 6 2 7 19 34
|
||||
25 10 5 1 3 12 23
|
||||
30 15 9 4 8 20 35
|
||||
39 29 14 13 21 28 44
|
||||
46 38 37 24 36 45 49
|
||||
</levels>
|
||||
</threshold>
|
||||
|
||||
|
||||
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
Special Purpose Dithers
|
||||
-->
|
||||
|
||||
</thresholds>
|
@ -1,55 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE typemap [
|
||||
<!ELEMENT typemap (type)+>
|
||||
<!ELEMENT type (#PCDATA)>
|
||||
<!ELEMENT include (#PCDATA)>
|
||||
<!ATTLIST type name CDATA #REQUIRED>
|
||||
<!ATTLIST type fullname CDATA #IMPLIED>
|
||||
<!ATTLIST type family CDATA #IMPLIED>
|
||||
<!ATTLIST type foundry CDATA #IMPLIED>
|
||||
<!ATTLIST type weight CDATA #IMPLIED>
|
||||
<!ATTLIST type style CDATA #IMPLIED>
|
||||
<!ATTLIST type stretch CDATA #IMPLIED>
|
||||
<!ATTLIST type format CDATA #IMPLIED>
|
||||
<!ATTLIST type metrics CDATA #IMPLIED>
|
||||
<!ATTLIST type glyphs CDATA #REQUIRED>
|
||||
<!ATTLIST type version CDATA #IMPLIED>
|
||||
<!ATTLIST include file CDATA #REQUIRED>
|
||||
]>
|
||||
<typemap>
|
||||
<type name="AvantGarde-Book" fullname="AvantGarde Book" family="AvantGarde" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@a010013l.afm" glyphs="@ghostscript_font_path@a010013l.pfb"/>
|
||||
<type name="AvantGarde-BookOblique" fullname="AvantGarde Book Oblique" family="AvantGarde" foundry="URW" weight="400" style="oblique" stretch="normal" format="type1" metrics="@ghostscript_font_path@a010033l.afm" glyphs="@ghostscript_font_path@a010033l.pfb"/>
|
||||
<type name="AvantGarde-Demi" fullname="AvantGarde DemiBold" family="AvantGarde" foundry="URW" weight="600" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@a010015l.afm" glyphs="@ghostscript_font_path@a010015l.pfb"/>
|
||||
<type name="AvantGarde-DemiOblique" fullname="AvantGarde DemiOblique" family="AvantGarde" foundry="URW" weight="600" style="oblique" stretch="normal" format="type1" metrics="@ghostscript_font_path@a010035l.afm" glyphs="@ghostscript_font_path@a010035l.pfb"/>
|
||||
<type name="Bookman-Demi" fullname="Bookman DemiBold" family="Bookman" foundry="URW" weight="600" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@b018015l.afm" glyphs="@ghostscript_font_path@b018015l.pfb"/>
|
||||
<type name="Bookman-DemiItalic" fullname="Bookman DemiBold Italic" family="Bookman" foundry="URW" weight="600" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_path@b018035l.afm" glyphs="@ghostscript_font_path@b018035l.pfb"/>
|
||||
<type name="Bookman-Light" fullname="Bookman Light" family="Bookman" foundry="URW" weight="300" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@b018012l.afm" glyphs="@ghostscript_font_path@b018012l.pfb"/>
|
||||
<type name="Bookman-LightItalic" fullname="Bookman Light Italic" family="Bookman" foundry="URW" weight="300" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_path@b018032l.afm" glyphs="@ghostscript_font_path@b018032l.pfb"/>
|
||||
<type name="Fixed" fullname="Courier Regular" family="Courier" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@n022003l.afm" glyphs="@ghostscript_font_path@n022003l.pfb"/>
|
||||
<type name="Courier" fullname="Courier Regular" family="Courier" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@n022003l.afm" glyphs="@ghostscript_font_path@n022003l.pfb"/>
|
||||
<type name="Courier-Bold" fullname="Courier Bold" family="Courier" foundry="URW" weight="700" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@n022004l.afm" glyphs="@ghostscript_font_path@n022004l.pfb"/>
|
||||
<type name="Courier-Oblique" fullname="Courier Regular Oblique" family="Courier" foundry="URW" weight="400" style="oblique" stretch="normal" format="type1" metrics="@ghostscript_font_path@n022023l.afm" glyphs="@ghostscript_font_path@n022023l.pfb"/>
|
||||
<type name="Courier-BoldOblique" fullname="Courier Bold Oblique" family="Courier" foundry="URW" weight="700" style="oblique" stretch="normal" format="type1" metrics="@ghostscript_font_path@n022024l.afm" glyphs="@ghostscript_font_path@n022024l.pfb"/>
|
||||
<type name="fixed" fullname="Helvetica Regular" family="Helvetica" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@n019003l.afm" glyphs="@ghostscript_font_path@n019003l.pfb"/>
|
||||
<type name="Helvetica" fullname="Helvetica Regular" family="Helvetica" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@n019003l.afm" glyphs="@ghostscript_font_path@n019003l.pfb"/>
|
||||
<type name="Helvetica-Bold" fullname="Helvetica Bold" family="Helvetica" foundry="URW" weight="700" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@n019004l.afm" glyphs="@ghostscript_font_path@n019004l.pfb"/>
|
||||
<type name="Helvetica-Oblique" fullname="Helvetica Regular Italic" family="Helvetica" foundry="URW" weight="400" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_path@n019023l.afm" glyphs="@ghostscript_font_path@n019023l.pfb"/>
|
||||
<type name="Helvetica-BoldOblique" fullname="Helvetica Bold Italic" family="Helvetica" foundry="URW" weight="700" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_path@n019024l.afm" glyphs="@ghostscript_font_path@n019024l.pfb"/>
|
||||
<type name="Helvetica-Narrow" fullname="Helvetica Narrow" family="Helvetica Narrow" foundry="URW" weight="400" style="normal" stretch="condensed" format="type1" metrics="@ghostscript_font_path@n019043l.afm" glyphs="@ghostscript_font_path@n019043l.pfb"/>
|
||||
<type name="Helvetica-Narrow-Oblique" fullname="Helvetica Narrow Oblique" family="Helvetica Narrow" foundry="URW" weight="400" style="oblique" stretch="condensed" format="type1" metrics="@ghostscript_font_path@n019063l.afm" glyphs="@ghostscript_font_path@n019063l.pfb"/>
|
||||
<type name="Helvetica-Narrow-Bold" fullname="Helvetica Narrow Bold" family="Helvetica Narrow" foundry="URW" weight="700" style="normal" stretch="condensed" format="type1" metrics="@ghostscript_font_path@n019044l.afm" glyphs="@ghostscript_font_path@n019044l.pfb"/>
|
||||
<type name="Helvetica-Narrow-BoldOblique" fullname="Helvetica Narrow Bold Oblique" family="Helvetica Narrow" foundry="URW" weight="700" style="oblique" stretch="condensed" format="type1" metrics="@ghostscript_font_path@n019064l.afm" glyphs="@ghostscript_font_path@n019064l.pfb"/>
|
||||
<type name="NewCenturySchlbk-Roman" fullname="New Century Schoolbook" family="NewCenturySchlbk" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@c059013l.afm" glyphs="@ghostscript_font_path@c059013l.pfb"/>
|
||||
<type name="NewCenturySchlbk-Italic" fullname="New Century Schoolbook Italic" family="NewCenturySchlbk" foundry="URW" weight="400" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_path@c059033l.afm" glyphs="@ghostscript_font_path@c059033l.pfb"/>
|
||||
<type name="NewCenturySchlbk-Bold" fullname="New Century Schoolbook Bold" family="NewCenturySchlbk" foundry="URW" weight="700" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@c059016l.afm" glyphs="@ghostscript_font_path@c059016l.pfb"/>
|
||||
<type name="NewCenturySchlbk-BoldItalic" fullname="New Century Schoolbook Bold Italic" family="NewCenturySchlbk" foundry="URW" weight="700" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_path@c059036l.afm" glyphs="@ghostscript_font_path@c059036l.pfb"/>
|
||||
<type name="Palatino-Roman" fullname="Palatino Regular" family="Palatino" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@p052003l.afm" glyphs="@ghostscript_font_path@p052003l.pfb"/>
|
||||
<type name="Palatino-Italic" fullname="Palatino Italic" family="Palatino" foundry="URW" weight="400" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_path@p052023l.afm" glyphs="@ghostscript_font_path@p052023l.pfb"/>
|
||||
<type name="Palatino-Bold" fullname="Palatino Bold" family="Palatino" foundry="URW" weight="700" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@p052004l.afm" glyphs="@ghostscript_font_path@p052004l.pfb"/>
|
||||
<type name="Palatino-BoldItalic" fullname="Palatino Bold Italic" family="Palatino" foundry="URW" weight="700" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_path@p052024l.afm" glyphs="@ghostscript_font_path@p052024l.pfb"/>
|
||||
<type name="Times-Roman" fullname="Times Regular" family="Times" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@n021003l.afm" glyphs="@ghostscript_font_path@n021003l.pfb"/>
|
||||
<type name="Times-Bold" fullname="Times Medium" family="Times" foundry="URW" weight="700" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@n021004l.afm" glyphs="@ghostscript_font_path@n021004l.pfb"/>
|
||||
<type name="Times-Italic" fullname="Times Regular Italic" family="Times" foundry="URW" weight="400" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_path@n021023l.afm" glyphs="@ghostscript_font_path@n021023l.pfb"/>
|
||||
<type name="Times-BoldItalic" fullname="Times Medium Italic" family="Times" foundry="URW" weight="700" style="italic" stretch="normal" format="type1" metrics="@ghostscript_font_path@n021024l.afm" glyphs="@ghostscript_font_path@n021024l.pfb"/>
|
||||
<type name="Symbol" fullname="Symbol" family="Symbol" foundry="URW" weight="400" style="normal" stretch="normal" format="type1" metrics="@ghostscript_font_path@s050000l.afm" glyphs="@ghostscript_font_path@s050000l.pfb" version="0.1" encoding="AdobeCustom"/>
|
||||
</typemap>
|
@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE typemap [
|
||||
<!ELEMENT typemap (type)+>
|
||||
<!ELEMENT type (#PCDATA)>
|
||||
<!ELEMENT include (#PCDATA)>
|
||||
<!ATTLIST type name CDATA #REQUIRED>
|
||||
<!ATTLIST type fullname CDATA #IMPLIED>
|
||||
<!ATTLIST type family CDATA #IMPLIED>
|
||||
<!ATTLIST type foundry CDATA #IMPLIED>
|
||||
<!ATTLIST type weight CDATA #IMPLIED>
|
||||
<!ATTLIST type style CDATA #IMPLIED>
|
||||
<!ATTLIST type stretch CDATA #IMPLIED>
|
||||
<!ATTLIST type format CDATA #IMPLIED>
|
||||
<!ATTLIST type metrics CDATA #IMPLIED>
|
||||
<!ATTLIST type glyphs CDATA #REQUIRED>
|
||||
<!ATTLIST type version CDATA #IMPLIED>
|
||||
<!ATTLIST include file CDATA #REQUIRED>
|
||||
]>
|
||||
<typemap>
|
||||
<include file="type-ghostscript.xml"/>
|
||||
</typemap>
|
89
thirdparty/libheif/HeifConvertJNI/CMakeLists.txt
vendored
Normal file
89
thirdparty/libheif/HeifConvertJNI/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,89 @@
|
||||
# Can be called with something like cmake -G "Visual Studio 17 2022" -A x64 -S .. "-DCMAKE_TOOLCHAIN_FILE=C:/Users/gregd/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows-static
|
||||
|
||||
cmake_minimum_required (VERSION 3.15)
|
||||
|
||||
project ("heifconvert")
|
||||
|
||||
find_package(libheif CONFIG REQUIRED)
|
||||
find_package(JPEG REQUIRED)
|
||||
find_package(Java REQUIRED)
|
||||
|
||||
# add_compile_definitions(LIBDE265_STATIC_BUILD LIBHEIF_STATIC_BUILD)
|
||||
|
||||
message("JAVA_HOME = $ENV{JAVA_HOME}")
|
||||
message("Java_JAVA_EXECUTABLE = ${Java_JAVA_EXECUTABLE}")
|
||||
message("Java_JAVAC_EXECUTABLE = ${Java_JAVAC_EXECUTABLE}")
|
||||
message("Java_JAVAH_EXECUTABLE = ${Java_JAVAH_EXECUTABLE}")
|
||||
message("Java_JAVADOC_EXECUTABLE = ${Java_JAVADOC_EXECUTABLE}")
|
||||
message("Java_VERSION_STRING = ${Java_VERSION_STRING}")
|
||||
message("Java_VERSION = ${Java_VERSION}")
|
||||
|
||||
find_package(JNI)
|
||||
|
||||
if (JNI_FOUND)
|
||||
message (STATUS "JNI_INCLUDE_DIRS=${JNI_INCLUDE_DIRS}")
|
||||
message (STATUS "JNI_LIBRARIES=${JNI_LIBRARIES}")
|
||||
endif()
|
||||
|
||||
add_compile_options(/std:c++latest)
|
||||
|
||||
set (heif_convert_sources
|
||||
encoder.cc
|
||||
encoder.h
|
||||
encoder_jpeg.cc
|
||||
encoder_jpeg.h
|
||||
org_sleuthkit_autopsy_modules_pictureanalyzer_impls_HeifJNI.cc
|
||||
org_sleuthkit_autopsy_modules_pictureanalyzer_impls_HeifJNI.h
|
||||
)
|
||||
|
||||
set (additional_link_directories)
|
||||
set (additional_libraries
|
||||
heif
|
||||
${JPEG_LIBRARIES}
|
||||
)
|
||||
set (additional_includes
|
||||
${JNI_INCLUDE_DIRS}
|
||||
${JPEG_INCLUDE_DIRS}
|
||||
${JPEG_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
include (${CMAKE_ROOT}/Modules/FindJPEG.cmake)
|
||||
include_directories(SYSTEM ${JPEG_INCLUDE_DIR})
|
||||
|
||||
include (${CMAKE_ROOT}/Modules/CheckCXXSourceCompiles.cmake)
|
||||
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${JPEG_LIBRARIES})
|
||||
|
||||
# while the docs say JPEG_INCLUDE_DIRS, my FindJPEG.cmake script returns it in JPEG_INCLUDE_DIR
|
||||
set(CMAKE_REQUIRED_INCLUDES ${JPEG_INCLUDE_DIRS} ${JPEG_INCLUDE_DIR})
|
||||
|
||||
add_definitions(-DHAVE_JPEG_WRITE_ICC_PROFILE=1)
|
||||
|
||||
if(UNIX OR MINGW)
|
||||
include (${CMAKE_ROOT}/Modules/FindPkgConfig.cmake)
|
||||
endif()
|
||||
|
||||
#set(CompilerFlags
|
||||
# CMAKE_CXX_FLAGS
|
||||
# CMAKE_CXX_FLAGS_DEBUG
|
||||
# CMAKE_CXX_FLAGS_RELEASE
|
||||
# CMAKE_C_FLAGS
|
||||
# CMAKE_C_FLAGS_DEBUG
|
||||
# CMAKE_C_FLAGS_RELEASE
|
||||
# )
|
||||
#foreach(CompilerFlag ${CompilerFlags})
|
||||
# string(REPLACE "/MD" "/MT" ${CompilerFlag} "${${CompilerFlag}}")
|
||||
#endforeach()
|
||||
|
||||
add_library(heifconvert SHARED ${heif_convert_sources})
|
||||
|
||||
#set_property(TARGET heifconvert PROPERTY
|
||||
# MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
|
||||
target_link_directories (heifconvert PRIVATE ${additional_link_directories})
|
||||
target_link_libraries (heifconvert ${additional_libraries})
|
||||
target_include_directories(heifconvert PRIVATE ${additional_includes})
|
||||
|
||||
message("Installing to: ${CMAKE_INSTALL_BINDIR}")
|
||||
install(TARGETS heifconvert RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
# include(InstallRequiredSystemLibraries)
|
73
thirdparty/libheif/HeifConvertJNI/CMakePresets.json
vendored
Normal file
73
thirdparty/libheif/HeifConvertJNI/CMakePresets.json
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
{
|
||||
"version": 3,
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "windows-base",
|
||||
"hidden": true,
|
||||
"generator": "Ninja",
|
||||
"binaryDir": "${sourceDir}/out/build/${presetName}",
|
||||
"installDir": "${sourceDir}/out/install/${presetName}",
|
||||
"cacheVariables": {
|
||||
"CMAKE_C_COMPILER": "cl.exe",
|
||||
"CMAKE_CXX_COMPILER": "cl.exe",
|
||||
"CMAKE_TOOLCHAIN_FILE": {
|
||||
"value": "C:/Users/gregd/vcpkg/scripts/buildsystems/vcpkg.cmake",
|
||||
"type": "FILEPATH"
|
||||
}
|
||||
},
|
||||
"condition": {
|
||||
"type": "equals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "Windows"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "x64-debug",
|
||||
"displayName": "x64 Debug",
|
||||
"inherits": "windows-base",
|
||||
"architecture": {
|
||||
"value": "x64",
|
||||
"strategy": "external"
|
||||
},
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"CMAKE_TOOLCHAIN_FILE": {
|
||||
"value": "C:/Users/gregd/vcpkg/scripts/buildsystems/vcpkg.cmake",
|
||||
"type": "FILEPATH"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "x64-release",
|
||||
"displayName": "x64 Release",
|
||||
"inherits": "x64-debug",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release",
|
||||
"CMAKE_TOOLCHAIN_FILE": {
|
||||
"value": "C:/Users/gregd/vcpkg/scripts/buildsystems/vcpkg.cmake",
|
||||
"type": "FILEPATH"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "x86-debug",
|
||||
"displayName": "x86 Debug",
|
||||
"inherits": "windows-base",
|
||||
"architecture": {
|
||||
"value": "x86",
|
||||
"strategy": "external"
|
||||
},
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "x86-release",
|
||||
"displayName": "x86 Release",
|
||||
"inherits": "x86-debug",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
20
thirdparty/libheif/HeifConvertJNI/COPYING
vendored
Normal file
20
thirdparty/libheif/HeifConvertJNI/COPYING
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
|
||||
MIT License
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
184
thirdparty/libheif/HeifConvertJNI/dist/ALL_BUILD.vcxproj
vendored
Normal file
184
thirdparty/libheif/HeifConvertJNI/dist/ALL_BUILD.vcxproj
vendored
Normal file
File diff suppressed because one or more lines are too long
8
thirdparty/libheif/HeifConvertJNI/dist/ALL_BUILD.vcxproj.filters
vendored
Normal file
8
thirdparty/libheif/HeifConvertJNI/dist/ALL_BUILD.vcxproj.filters
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="17.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="C:\Users\gregd\Documents\Source\autopsy\thirdparty\libheif\HeifConvertJNI\CMakeLists.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
</Project>
|
477
thirdparty/libheif/HeifConvertJNI/dist/CMakeCache.txt
vendored
Normal file
477
thirdparty/libheif/HeifConvertJNI/dist/CMakeCache.txt
vendored
Normal file
@ -0,0 +1,477 @@
|
||||
# This is the CMakeCache file.
|
||||
# For build in directory: c:/Users/gregd/Documents/Source/autopsy/thirdparty/libheif/HeifConvertJNI/dist
|
||||
# It was generated by CMake: C:/Program Files/CMake/bin/cmake.exe
|
||||
# You can edit this file to change values found and used by cmake.
|
||||
# If you do not want to change any of the values, simply exit the editor.
|
||||
# If you do want to change a value, simply edit, save, and exit the editor.
|
||||
# The syntax for the file is as follows:
|
||||
# KEY:TYPE=VALUE
|
||||
# KEY is the name of a variable in the cache.
|
||||
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
|
||||
# VALUE is the current value for the KEY.
|
||||
|
||||
########################
|
||||
# EXTERNAL cache entries
|
||||
########################
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_AR:FILEPATH=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/lib.exe
|
||||
|
||||
//Semicolon separated list of supported configuration types, only
|
||||
// supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything
|
||||
// else will be ignored.
|
||||
CMAKE_CONFIGURATION_TYPES:STRING=Debug;Release;MinSizeRel;RelWithDebInfo
|
||||
|
||||
//Flags used by the CXX compiler during all build types.
|
||||
CMAKE_CXX_FLAGS:STRING=/DWIN32 /D_WINDOWS /GR /EHsc
|
||||
|
||||
//Flags used by the CXX compiler during DEBUG builds.
|
||||
CMAKE_CXX_FLAGS_DEBUG:STRING=/Zi /Ob0 /Od /RTC1
|
||||
|
||||
//Flags used by the CXX compiler during MINSIZEREL builds.
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=/O1 /Ob1 /DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELEASE builds.
|
||||
CMAKE_CXX_FLAGS_RELEASE:STRING=/O2 /Ob2 /DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=/Zi /O2 /Ob1 /DNDEBUG
|
||||
|
||||
//Libraries linked by default with all C++ applications.
|
||||
CMAKE_CXX_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
|
||||
|
||||
//Flags used by the C compiler during all build types.
|
||||
CMAKE_C_FLAGS:STRING=/DWIN32 /D_WINDOWS
|
||||
|
||||
//Flags used by the C compiler during DEBUG builds.
|
||||
CMAKE_C_FLAGS_DEBUG:STRING=/Zi /Ob0 /Od /RTC1
|
||||
|
||||
//Flags used by the C compiler during MINSIZEREL builds.
|
||||
CMAKE_C_FLAGS_MINSIZEREL:STRING=/O1 /Ob1 /DNDEBUG
|
||||
|
||||
//Flags used by the C compiler during RELEASE builds.
|
||||
CMAKE_C_FLAGS_RELEASE:STRING=/O2 /Ob2 /DNDEBUG
|
||||
|
||||
//Flags used by the C compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=/Zi /O2 /Ob1 /DNDEBUG
|
||||
|
||||
//Libraries linked by default with all C applications.
|
||||
CMAKE_C_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
|
||||
|
||||
//Flags used by the linker during all build types.
|
||||
CMAKE_EXE_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the linker during DEBUG builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Flags used by the linker during MINSIZEREL builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during RELEASE builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during RELWITHDEBINFO builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Install path prefix, prepended onto install directories.
|
||||
CMAKE_INSTALL_PREFIX:PATH=C:/Program Files/heifconvert
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_LINKER:FILEPATH=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/link.exe
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// all build types.
|
||||
CMAKE_MODULE_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// DEBUG builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// MINSIZEREL builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELEASE builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELWITHDEBINFO builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_MT:FILEPATH=CMAKE_MT-NOTFOUND
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_DESCRIPTION:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_NAME:STATIC=heifconvert
|
||||
|
||||
//RC compiler
|
||||
CMAKE_RC_COMPILER:FILEPATH=rc
|
||||
|
||||
//Flags for Windows Resource Compiler during all build types.
|
||||
CMAKE_RC_FLAGS:STRING=-DWIN32
|
||||
|
||||
//Flags for Windows Resource Compiler during DEBUG builds.
|
||||
CMAKE_RC_FLAGS_DEBUG:STRING=-D_DEBUG
|
||||
|
||||
//Flags for Windows Resource Compiler during MINSIZEREL builds.
|
||||
CMAKE_RC_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags for Windows Resource Compiler during RELEASE builds.
|
||||
CMAKE_RC_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags for Windows Resource Compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during all build types.
|
||||
CMAKE_SHARED_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
|
||||
|
||||
//If set, runtime paths are not added when installing shared libraries,
|
||||
// but are added when building.
|
||||
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
|
||||
|
||||
//If set, runtime paths are not added when using shared libraries.
|
||||
CMAKE_SKIP_RPATH:BOOL=NO
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during all build types.
|
||||
CMAKE_STATIC_LINKER_FLAGS:STRING=/machine:x64
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//The CMake toolchain file
|
||||
CMAKE_TOOLCHAIN_FILE:FILEPATH=C:/Users/gregd/vcpkg/scripts/buildsystems/vcpkg.cmake
|
||||
|
||||
//If this value is on, makefiles will be generated without the
|
||||
// .SILENT directive, and all commands will be echoed to the console
|
||||
// during the make. This is useful for debugging only. With Visual
|
||||
// Studio IDE projects all commands are done without /nologo.
|
||||
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
|
||||
|
||||
//Path to a file.
|
||||
JAVA_AWT_INCLUDE_PATH:PATH=C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/include
|
||||
|
||||
//Path to a library.
|
||||
JAVA_AWT_LIBRARY:FILEPATH=C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/lib/jawt.lib
|
||||
|
||||
//Path to a file.
|
||||
JAVA_INCLUDE_PATH:PATH=C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/include
|
||||
|
||||
//Path to a file.
|
||||
JAVA_INCLUDE_PATH2:PATH=C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/include/win32
|
||||
|
||||
//Path to a library.
|
||||
JAVA_JVM_LIBRARY:FILEPATH=C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/lib/jvm.lib
|
||||
|
||||
//Path to a file.
|
||||
JPEG_INCLUDE_DIR:PATH=C:/Users/gregd/vcpkg/installed/x64-windows/include
|
||||
|
||||
//Path to a library.
|
||||
JPEG_LIBRARY_DEBUG:FILEPATH=C:/Users/gregd/vcpkg/installed/x64-windows/debug/lib/jpeg.lib
|
||||
|
||||
//Path to a library.
|
||||
JPEG_LIBRARY_RELEASE:FILEPATH=C:/Users/gregd/vcpkg/installed/x64-windows/lib/jpeg.lib
|
||||
|
||||
//Path to a program.
|
||||
Java_IDLJ_EXECUTABLE:FILEPATH=C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/bin/idlj.exe
|
||||
|
||||
//Path to a program.
|
||||
Java_JARSIGNER_EXECUTABLE:FILEPATH=C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/bin/jarsigner.exe
|
||||
|
||||
//Path to a program.
|
||||
Java_JAR_EXECUTABLE:FILEPATH=C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/bin/jar.exe
|
||||
|
||||
//Path to a program.
|
||||
Java_JAVAC_EXECUTABLE:FILEPATH=C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/bin/javac.exe
|
||||
|
||||
//Path to a program.
|
||||
Java_JAVADOC_EXECUTABLE:FILEPATH=C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/bin/javadoc.exe
|
||||
|
||||
//Path to a program.
|
||||
Java_JAVAH_EXECUTABLE:FILEPATH=C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/bin/javah.exe
|
||||
|
||||
//Path to a program.
|
||||
Java_JAVA_EXECUTABLE:FILEPATH=C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/bin/java.exe
|
||||
|
||||
//Automatically copy dependencies into the output directory for
|
||||
// executables.
|
||||
VCPKG_APPLOCAL_DEPS:BOOL=ON
|
||||
|
||||
//The directory which contains the installed libraries for each
|
||||
// triplet
|
||||
VCPKG_INSTALLED_DIR:PATH=C:/Users/gregd/vcpkg/installed
|
||||
|
||||
//The path to the vcpkg manifest directory.
|
||||
VCPKG_MANIFEST_DIR:PATH=
|
||||
|
||||
//Use manifest mode, as opposed to classic mode.
|
||||
VCPKG_MANIFEST_MODE:BOOL=OFF
|
||||
|
||||
//Appends the vcpkg paths to CMAKE_PREFIX_PATH, CMAKE_LIBRARY_PATH
|
||||
// and CMAKE_FIND_ROOT_PATH so that vcpkg libraries/packages are
|
||||
// found after toolchain/system libraries/packages.
|
||||
VCPKG_PREFER_SYSTEM_LIBS:BOOL=OFF
|
||||
|
||||
//Enable the setup of CMAKE_PROGRAM_PATH to vcpkg paths
|
||||
VCPKG_SETUP_CMAKE_PROGRAM_PATH:BOOL=ON
|
||||
|
||||
//Vcpkg target triplet (ex. x86-windows)
|
||||
VCPKG_TARGET_TRIPLET:STRING=x64-windows
|
||||
|
||||
//Setup CMAKE_PROGRAM_PATH to use host tools
|
||||
VCPKG_USE_HOST_TOOLS:BOOL=ON
|
||||
|
||||
//Enables messages from the VCPKG toolchain for debugging purposes.
|
||||
VCPKG_VERBOSE:BOOL=OFF
|
||||
|
||||
//(experimental) Automatically copy dependencies into the install
|
||||
// target directory for executables. Requires CMake 3.14.
|
||||
X_VCPKG_APPLOCAL_DEPS_INSTALL:BOOL=OFF
|
||||
|
||||
//(experimental) Add USES_TERMINAL to VCPKG_APPLOCAL_DEPS to force
|
||||
// serialization.
|
||||
X_VCPKG_APPLOCAL_DEPS_SERIALIZED:BOOL=OFF
|
||||
|
||||
//Path to a program.
|
||||
Z_VCPKG_BUILTIN_POWERSHELL_PATH:FILEPATH=C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe
|
||||
|
||||
//Path to a program.
|
||||
Z_VCPKG_PWSH_PATH:FILEPATH=Z_VCPKG_PWSH_PATH-NOTFOUND
|
||||
|
||||
//The directory which contains the installed libraries for each
|
||||
// triplet
|
||||
_VCPKG_INSTALLED_DIR:PATH=C:/Users/gregd/vcpkg/installed
|
||||
|
||||
//Value Computed by CMake
|
||||
heifconvert_BINARY_DIR:STATIC=C:/Users/gregd/Documents/Source/autopsy/thirdparty/libheif/HeifConvertJNI/dist
|
||||
|
||||
//Value Computed by CMake
|
||||
heifconvert_IS_TOP_LEVEL:STATIC=ON
|
||||
|
||||
//Value Computed by CMake
|
||||
heifconvert_SOURCE_DIR:STATIC=C:/Users/gregd/Documents/Source/autopsy/thirdparty/libheif/HeifConvertJNI
|
||||
|
||||
//The directory containing a CMake configuration file for libheif.
|
||||
libheif_DIR:PATH=C:/Users/gregd/vcpkg/installed/x64-windows/share/libheif
|
||||
|
||||
|
||||
########################
|
||||
# INTERNAL cache entries
|
||||
########################
|
||||
|
||||
//ADVANCED property for variable: CMAKE_AR
|
||||
CMAKE_AR-ADVANCED:INTERNAL=1
|
||||
//This is the directory where this CMakeCache.txt was created
|
||||
CMAKE_CACHEFILE_DIR:INTERNAL=c:/Users/gregd/Documents/Source/autopsy/thirdparty/libheif/HeifConvertJNI/dist
|
||||
//Major version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
|
||||
//Minor version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MINOR_VERSION:INTERNAL=23
|
||||
//Patch version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_PATCH_VERSION:INTERNAL=0
|
||||
//Path to CMake executable.
|
||||
CMAKE_COMMAND:INTERNAL=C:/Program Files/CMake/bin/cmake.exe
|
||||
//Path to cpack program executable.
|
||||
CMAKE_CPACK_COMMAND:INTERNAL=C:/Program Files/CMake/bin/cpack.exe
|
||||
//Path to ctest program executable.
|
||||
CMAKE_CTEST_COMMAND:INTERNAL=C:/Program Files/CMake/bin/ctest.exe
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES
|
||||
CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS
|
||||
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
|
||||
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
|
||||
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
|
||||
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES
|
||||
CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
|
||||
//Executable file format
|
||||
CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
|
||||
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//Name of external makefile project generator.
|
||||
CMAKE_EXTRA_GENERATOR:INTERNAL=
|
||||
//Name of generator.
|
||||
CMAKE_GENERATOR:INTERNAL=Visual Studio 17 2022
|
||||
//Generator instance identifier.
|
||||
CMAKE_GENERATOR_INSTANCE:INTERNAL=C:/Program Files/Microsoft Visual Studio/2022/Community
|
||||
//Name of generator platform.
|
||||
CMAKE_GENERATOR_PLATFORM:INTERNAL=x64
|
||||
//Name of generator toolset.
|
||||
CMAKE_GENERATOR_TOOLSET:INTERNAL=
|
||||
//Source directory with the top level CMakeLists.txt file for this
|
||||
// project
|
||||
CMAKE_HOME_DIRECTORY:INTERNAL=C:/Users/gregd/Documents/Source/autopsy/thirdparty/libheif/HeifConvertJNI
|
||||
//ADVANCED property for variable: CMAKE_LINKER
|
||||
CMAKE_LINKER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
|
||||
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MT
|
||||
CMAKE_MT-ADVANCED:INTERNAL=1
|
||||
//number of local generators
|
||||
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
|
||||
//Platform information initialized
|
||||
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
|
||||
//noop for ranlib
|
||||
CMAKE_RANLIB:INTERNAL=:
|
||||
//ADVANCED property for variable: CMAKE_RC_COMPILER
|
||||
CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1
|
||||
CMAKE_RC_COMPILER_WORKS:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS
|
||||
CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG
|
||||
CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL
|
||||
CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE
|
||||
CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//Path to CMake installation.
|
||||
CMAKE_ROOT:INTERNAL=C:/Program Files/CMake/share/cmake-3.23
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
|
||||
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
|
||||
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_RPATH
|
||||
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
|
||||
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_TOOLCHAIN_FILE
|
||||
CMAKE_TOOLCHAIN_FILE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
|
||||
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
//Details about finding JNI
|
||||
FIND_PACKAGE_MESSAGE_DETAILS_JNI:INTERNAL=[C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/lib/jawt.lib][C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/lib/jvm.lib][C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/include][C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/include/win32][C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/include][v()]
|
||||
//Details about finding JPEG
|
||||
FIND_PACKAGE_MESSAGE_DETAILS_JPEG:INTERNAL=[optimized;C:/Users/gregd/vcpkg/installed/x64-windows/lib/jpeg.lib;debug;C:/Users/gregd/vcpkg/installed/x64-windows/debug/lib/jpeg.lib][C:/Users/gregd/vcpkg/installed/x64-windows/include][v62()]
|
||||
//Details about finding Java
|
||||
FIND_PACKAGE_MESSAGE_DETAILS_Java:INTERNAL=[C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/bin/java.exe][C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/bin/jar.exe][C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/bin/javac.exe][C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/bin/javah.exe][C:/Program Files/ojdkbuild/java-1.8.0-openjdk-1.8.0.222-1/bin/javadoc.exe][v1.8.0_222-1-ojdkbuild()]
|
||||
//ADVANCED property for variable: JAVA_AWT_INCLUDE_PATH
|
||||
JAVA_AWT_INCLUDE_PATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: JAVA_AWT_LIBRARY
|
||||
JAVA_AWT_LIBRARY-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: JAVA_INCLUDE_PATH
|
||||
JAVA_INCLUDE_PATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: JAVA_INCLUDE_PATH2
|
||||
JAVA_INCLUDE_PATH2-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: JAVA_JVM_LIBRARY
|
||||
JAVA_JVM_LIBRARY-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: JPEG_INCLUDE_DIR
|
||||
JPEG_INCLUDE_DIR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: JPEG_LIBRARY_DEBUG
|
||||
JPEG_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: JPEG_LIBRARY_RELEASE
|
||||
JPEG_LIBRARY_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: Java_IDLJ_EXECUTABLE
|
||||
Java_IDLJ_EXECUTABLE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: Java_JARSIGNER_EXECUTABLE
|
||||
Java_JARSIGNER_EXECUTABLE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: Java_JAR_EXECUTABLE
|
||||
Java_JAR_EXECUTABLE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: Java_JAVAC_EXECUTABLE
|
||||
Java_JAVAC_EXECUTABLE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: Java_JAVADOC_EXECUTABLE
|
||||
Java_JAVADOC_EXECUTABLE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: Java_JAVAH_EXECUTABLE
|
||||
Java_JAVAH_EXECUTABLE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: Java_JAVA_EXECUTABLE
|
||||
Java_JAVA_EXECUTABLE-ADVANCED:INTERNAL=1
|
||||
//Install the dependencies listed in your manifest:
|
||||
//\n If this is off, you will have to manually install your dependencies.
|
||||
//\n See https://github.com/microsoft/vcpkg/tree/master/docs/specifications/manifests.md
|
||||
// for more info.
|
||||
//\n
|
||||
VCPKG_MANIFEST_INSTALL:INTERNAL=OFF
|
||||
//ADVANCED property for variable: VCPKG_VERBOSE
|
||||
VCPKG_VERBOSE-ADVANCED:INTERNAL=1
|
||||
//Making sure VCPKG_MANIFEST_MODE doesn't change
|
||||
Z_VCPKG_CHECK_MANIFEST_MODE:INTERNAL=OFF
|
||||
//The path to the PowerShell implementation to use.
|
||||
Z_VCPKG_POWERSHELL_PATH:INTERNAL=C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe
|
||||
//Vcpkg root directory
|
||||
Z_VCPKG_ROOT_DIR:INTERNAL=C:/Users/gregd/vcpkg
|
||||
|
@ -0,0 +1 @@
|
||||
# generated from CMake
|
@ -0,0 +1 @@
|
||||
# generated from CMake
|
72
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CMakeCCompiler.cmake
vendored
Normal file
72
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CMakeCCompiler.cmake
vendored
Normal file
@ -0,0 +1,72 @@
|
||||
set(CMAKE_C_COMPILER "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/cl.exe")
|
||||
set(CMAKE_C_COMPILER_ARG1 "")
|
||||
set(CMAKE_C_COMPILER_ID "MSVC")
|
||||
set(CMAKE_C_COMPILER_VERSION "19.31.31104.0")
|
||||
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_C_COMPILER_WRAPPER "")
|
||||
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "90")
|
||||
set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "OFF")
|
||||
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17")
|
||||
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
|
||||
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
|
||||
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
|
||||
set(CMAKE_C17_COMPILE_FEATURES "c_std_17")
|
||||
set(CMAKE_C23_COMPILE_FEATURES "")
|
||||
|
||||
set(CMAKE_C_PLATFORM_ID "Windows")
|
||||
set(CMAKE_C_SIMULATE_ID "")
|
||||
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "")
|
||||
set(CMAKE_C_SIMULATE_VERSION "")
|
||||
set(CMAKE_C_COMPILER_ARCHITECTURE_ID x64)
|
||||
|
||||
set(MSVC_C_ARCHITECTURE_ID x64)
|
||||
|
||||
set(CMAKE_AR "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/lib.exe")
|
||||
set(CMAKE_C_COMPILER_AR "")
|
||||
set(CMAKE_RANLIB ":")
|
||||
set(CMAKE_C_COMPILER_RANLIB "")
|
||||
set(CMAKE_LINKER "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/link.exe")
|
||||
set(CMAKE_MT "CMAKE_MT-NOTFOUND")
|
||||
set(CMAKE_COMPILER_IS_GNUCC )
|
||||
set(CMAKE_C_COMPILER_LOADED 1)
|
||||
set(CMAKE_C_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_C_ABI_COMPILED TRUE)
|
||||
|
||||
set(CMAKE_C_COMPILER_ENV_VAR "CC")
|
||||
|
||||
set(CMAKE_C_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
|
||||
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
set(CMAKE_C_LINKER_PREFERENCE 10)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_C_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_C_COMPILER_ABI "")
|
||||
set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN")
|
||||
set(CMAKE_C_LIBRARY_ARCHITECTURE "")
|
||||
|
||||
if(CMAKE_C_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "")
|
||||
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "")
|
||||
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "")
|
||||
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
83
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CMakeCXXCompiler.cmake
vendored
Normal file
83
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CMakeCXXCompiler.cmake
vendored
Normal file
@ -0,0 +1,83 @@
|
||||
set(CMAKE_CXX_COMPILER "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/cl.exe")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "")
|
||||
set(CMAKE_CXX_COMPILER_ID "MSVC")
|
||||
set(CMAKE_CXX_COMPILER_VERSION "19.31.31104.0")
|
||||
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_CXX_COMPILER_WRAPPER "")
|
||||
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
|
||||
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "OFF")
|
||||
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23")
|
||||
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
|
||||
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
|
||||
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
|
||||
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
|
||||
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
|
||||
set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
|
||||
|
||||
set(CMAKE_CXX_PLATFORM_ID "Windows")
|
||||
set(CMAKE_CXX_SIMULATE_ID "")
|
||||
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
|
||||
set(CMAKE_CXX_SIMULATE_VERSION "")
|
||||
set(CMAKE_CXX_COMPILER_ARCHITECTURE_ID x64)
|
||||
|
||||
set(MSVC_CXX_ARCHITECTURE_ID x64)
|
||||
|
||||
set(CMAKE_AR "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/lib.exe")
|
||||
set(CMAKE_CXX_COMPILER_AR "")
|
||||
set(CMAKE_RANLIB ":")
|
||||
set(CMAKE_CXX_COMPILER_RANLIB "")
|
||||
set(CMAKE_LINKER "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/link.exe")
|
||||
set(CMAKE_MT "CMAKE_MT-NOTFOUND")
|
||||
set(CMAKE_COMPILER_IS_GNUCXX )
|
||||
set(CMAKE_CXX_COMPILER_LOADED 1)
|
||||
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_CXX_ABI_COMPILED TRUE)
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm)
|
||||
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
|
||||
foreach (lang C OBJC OBJCXX)
|
||||
if (CMAKE_${lang}_COMPILER_ID_RUN)
|
||||
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
|
||||
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
|
||||
endforeach()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE 30)
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_CXX_COMPILER_ABI "")
|
||||
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
|
||||
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
|
||||
|
||||
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
BIN
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CMakeDetermineCompilerABI_C.bin
vendored
Normal file
BIN
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CMakeDetermineCompilerABI_C.bin
vendored
Normal file
Binary file not shown.
BIN
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CMakeDetermineCompilerABI_CXX.bin
vendored
Normal file
BIN
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CMakeDetermineCompilerABI_CXX.bin
vendored
Normal file
Binary file not shown.
6
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CMakeRCCompiler.cmake
vendored
Normal file
6
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CMakeRCCompiler.cmake
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
set(CMAKE_RC_COMPILER "rc")
|
||||
set(CMAKE_RC_COMPILER_ARG1 "")
|
||||
set(CMAKE_RC_COMPILER_LOADED 1)
|
||||
set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc;RC)
|
||||
set(CMAKE_RC_OUTPUT_EXTENSION .res)
|
||||
set(CMAKE_RC_COMPILER_ENV_VAR "RC")
|
15
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CMakeSystem.cmake
vendored
Normal file
15
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CMakeSystem.cmake
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
set(CMAKE_HOST_SYSTEM "Windows-10.0.19044")
|
||||
set(CMAKE_HOST_SYSTEM_NAME "Windows")
|
||||
set(CMAKE_HOST_SYSTEM_VERSION "10.0.19044")
|
||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64")
|
||||
|
||||
include("C:/Users/gregd/vcpkg/scripts/buildsystems/vcpkg.cmake")
|
||||
|
||||
set(CMAKE_SYSTEM "Windows-10.0.19044")
|
||||
set(CMAKE_SYSTEM_NAME "Windows")
|
||||
set(CMAKE_SYSTEM_VERSION "10.0.19044")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "AMD64")
|
||||
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
|
||||
set(CMAKE_SYSTEM_LOADED 1)
|
828
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CompilerIdC/CMakeCCompilerId.c
vendored
Normal file
828
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CompilerIdC/CMakeCCompilerId.c
vendored
Normal file
@ -0,0 +1,828 @@
|
||||
#ifdef __cplusplus
|
||||
# error "A C++ compiler has been selected for C."
|
||||
#endif
|
||||
|
||||
#if defined(__18CXX)
|
||||
# define ID_VOID_MAIN
|
||||
#endif
|
||||
#if defined(__CLASSIC_C__)
|
||||
/* cv-qualifiers did not exist in K&R C */
|
||||
# define const
|
||||
# define volatile
|
||||
#endif
|
||||
|
||||
#if !defined(__has_include)
|
||||
/* If the compiler does not have __has_include, pretend the answer is
|
||||
always no. */
|
||||
# define __has_include(x) 0
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
|
||||
except that a few beta releases use the old format with V=2021. */
|
||||
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
|
||||
/* The third version component from --version is an update index,
|
||||
but no macro is provided for it. */
|
||||
# define COMPILER_VERSION_PATCH DEC(0)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
|
||||
# define COMPILER_ID "IntelLLVM"
|
||||
#if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
#endif
|
||||
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
|
||||
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
|
||||
* VVVV is no smaller than the current year when a version is released.
|
||||
*/
|
||||
#if __INTEL_LLVM_COMPILER < 1000000L
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
|
||||
#else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
|
||||
#endif
|
||||
#if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
#elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
#endif
|
||||
#if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
#endif
|
||||
#if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_C)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_C >= 0x5100
|
||||
/* __SUNPRO_C = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_cc)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_cc = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
|
||||
|
||||
#elif defined(__DECC)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECC_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
|
||||
|
||||
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__open_xl__) && defined(__clang__)
|
||||
# define COMPILER_ID "IBMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__NVCOMPILER)
|
||||
# define COMPILER_ID "NVHPC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
|
||||
# if defined(__NVCOMPILER_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__CLANG_FUJITSU)
|
||||
# define COMPILER_ID "FujitsuClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(__FUJITSU)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
# if defined(__FCC_version__)
|
||||
# define COMPILER_VERSION __FCC_version__
|
||||
# elif defined(__FCC_major__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# endif
|
||||
# if defined(__fcc_version)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
|
||||
# elif defined(__FCC_VERSION)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
|
||||
# endif
|
||||
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__TINYC__)
|
||||
# define COMPILER_ID "TinyCC"
|
||||
|
||||
#elif defined(__BCC__)
|
||||
# define COMPILER_ID "Bruce"
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
|
||||
# define COMPILER_ID "LCC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(1)
|
||||
# if defined(__LCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__LCC__- 100)
|
||||
# endif
|
||||
# if defined(__LCC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VISUALDSPVERSION__)
|
||||
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
|
||||
# define COMPILER_ID "SDCC"
|
||||
# if defined(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
|
||||
# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
|
||||
# else
|
||||
/* SDCC = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__MSYS__)
|
||||
# define PLATFORM_ID "MSYS"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# elif defined(__VXWORKS__)
|
||||
# define PLATFORM_ID "VxWorks"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_ARM64EC)
|
||||
# define ARCHITECTURE_ID "ARM64EC"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__ICCV850__)
|
||||
# define ARCHITECTURE_ID "V850"
|
||||
|
||||
# elif defined(__ICC8051__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__ICCSTM8__)
|
||||
# define ARCHITECTURE_ID "STM8"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# if defined(__TI_ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__MSP430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__TMS320C28XX__)
|
||||
# define ARCHITECTURE_ID "TMS320C28x"
|
||||
|
||||
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
|
||||
# define ARCHITECTURE_ID "TMS320C6x"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number. */
|
||||
#ifdef COMPILER_VERSION
|
||||
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#elif defined(COMPILER_VERSION_MAJOR)
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#elif defined(COMPILER_VERSION_INTERNAL_STR)
|
||||
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
#if !defined(__STDC__) && !defined(__clang__)
|
||||
# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__)
|
||||
# define C_VERSION "90"
|
||||
# else
|
||||
# define C_VERSION
|
||||
# endif
|
||||
#elif __STDC_VERSION__ > 201710L
|
||||
# define C_VERSION "23"
|
||||
#elif __STDC_VERSION__ >= 201710L
|
||||
# define C_VERSION "17"
|
||||
#elif __STDC_VERSION__ >= 201000L
|
||||
# define C_VERSION "11"
|
||||
#elif __STDC_VERSION__ >= 199901L
|
||||
# define C_VERSION "99"
|
||||
#else
|
||||
# define C_VERSION "90"
|
||||
#endif
|
||||
const char* info_language_standard_default =
|
||||
"INFO" ":" "standard_default[" C_VERSION "]";
|
||||
|
||||
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
|
||||
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
|
||||
defined(__TI_COMPILER_VERSION__)) && \
|
||||
!defined(__STRICT_ANSI__)
|
||||
"ON"
|
||||
#else
|
||||
"OFF"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
#ifdef ID_VOID_MAIN
|
||||
void main() {}
|
||||
#else
|
||||
# if defined(__CLASSIC_C__)
|
||||
int main(argc, argv) int argc; char *argv[];
|
||||
# else
|
||||
int main(int argc, char* argv[])
|
||||
# endif
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
require += info_arch[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_standard_default[argc];
|
||||
require += info_language_extensions_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
#endif
|
BIN
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CompilerIdC/CompilerIdC.exe
vendored
Normal file
BIN
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CompilerIdC/CompilerIdC.exe
vendored
Normal file
Binary file not shown.
71
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CompilerIdC/CompilerIdC.vcxproj
vendored
Normal file
71
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CompilerIdC/CompilerIdC.vcxproj
vendored
Normal file
@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{CAE07175-D007-4FC3-BFE8-47B392814159}</ProjectGuid>
|
||||
<RootNamespace>CompilerIdC</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
|
||||
|
||||
<WindowsTargetPlatformVersion>10.0.22000.0</WindowsTargetPlatformVersion>
|
||||
|
||||
|
||||
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup>
|
||||
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>TurnOffAllWarnings</WarningLevel>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
|
||||
<Link>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>for %%i in (cl.exe) do %40echo CMAKE_C_COMPILER=%%~$PATH:i</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CMakeCCompilerId.c" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
|
||||
</ImportGroup>
|
||||
</Project>
|
BIN
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CompilerIdC/Debug/CMakeCCompilerId.obj
vendored
Normal file
BIN
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CompilerIdC/Debug/CMakeCCompilerId.obj
vendored
Normal file
Binary file not shown.
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\Users\gregd\Documents\Source\autopsy\thirdparty\libheif\HeifConvertJNI\dist\CMakeFiles\3.23.0-rc2\CompilerIdC\CompilerIdC.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.31.31103:TargetPlatformVersion=10.0.22000.0:VcpkgTriplet=x64-windows:
|
||||
Debug|x64|C:\Users\gregd\Documents\Source\autopsy\thirdparty\libheif\HeifConvertJNI\dist\CMakeFiles\3.23.0-rc2\CompilerIdC\|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
|
816
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CompilerIdCXX/CMakeCXXCompilerId.cpp
vendored
Normal file
816
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CompilerIdCXX/CMakeCXXCompilerId.cpp
vendored
Normal file
@ -0,0 +1,816 @@
|
||||
/* This source file must have a .cpp extension so that all C++ compilers
|
||||
recognize the extension without flags. Borland does not know .cxx for
|
||||
example. */
|
||||
#ifndef __cplusplus
|
||||
# error "A C compiler has been selected for C++."
|
||||
#endif
|
||||
|
||||
#if !defined(__has_include)
|
||||
/* If the compiler does not have __has_include, pretend the answer is
|
||||
always no. */
|
||||
# define __has_include(x) 0
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__COMO__)
|
||||
# define COMPILER_ID "Comeau"
|
||||
/* __COMO_VERSION__ = VRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
|
||||
|
||||
#elif defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
|
||||
except that a few beta releases use the old format with V=2021. */
|
||||
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
|
||||
/* The third version component from --version is an update index,
|
||||
but no macro is provided for it. */
|
||||
# define COMPILER_VERSION_PATCH DEC(0)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
|
||||
# define COMPILER_ID "IntelLLVM"
|
||||
#if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
#endif
|
||||
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
|
||||
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
|
||||
* VVVV is no smaller than the current year when a version is released.
|
||||
*/
|
||||
#if __INTEL_LLVM_COMPILER < 1000000L
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
|
||||
#else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
|
||||
#endif
|
||||
#if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
#elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
#endif
|
||||
#if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
#endif
|
||||
#if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_CC)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_CC >= 0x5100
|
||||
/* __SUNPRO_CC = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_aCC)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_aCC = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
|
||||
|
||||
#elif defined(__DECCXX)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECCXX_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
|
||||
|
||||
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__open_xl__) && defined(__clang__)
|
||||
# define COMPILER_ID "IBMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__NVCOMPILER)
|
||||
# define COMPILER_ID "NVHPC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
|
||||
# if defined(__NVCOMPILER_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__CLANG_FUJITSU)
|
||||
# define COMPILER_ID "FujitsuClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(__FUJITSU)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
# if defined(__FCC_version__)
|
||||
# define COMPILER_VERSION __FCC_version__
|
||||
# elif defined(__FCC_major__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# endif
|
||||
# if defined(__fcc_version)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
|
||||
# elif defined(__FCC_VERSION)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
|
||||
# endif
|
||||
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
|
||||
# define COMPILER_ID "LCC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(1)
|
||||
# if defined(__LCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__LCC__- 100)
|
||||
# endif
|
||||
# if defined(__LCC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__) || defined(__GNUG__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# if defined(__GNUC__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VISUALDSPVERSION__)
|
||||
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__MSYS__)
|
||||
# define PLATFORM_ID "MSYS"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# elif defined(__VXWORKS__)
|
||||
# define PLATFORM_ID "VxWorks"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_ARM64EC)
|
||||
# define ARCHITECTURE_ID "ARM64EC"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__ICCV850__)
|
||||
# define ARCHITECTURE_ID "V850"
|
||||
|
||||
# elif defined(__ICC8051__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__ICCSTM8__)
|
||||
# define ARCHITECTURE_ID "STM8"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# if defined(__TI_ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__MSP430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__TMS320C28XX__)
|
||||
# define ARCHITECTURE_ID "TMS320C28x"
|
||||
|
||||
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
|
||||
# define ARCHITECTURE_ID "TMS320C6x"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number. */
|
||||
#ifdef COMPILER_VERSION
|
||||
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#elif defined(COMPILER_VERSION_MAJOR)
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#elif defined(COMPILER_VERSION_INTERNAL_STR)
|
||||
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
|
||||
# if defined(__INTEL_CXX11_MODE__)
|
||||
# if defined(__cpp_aggregate_nsdmi)
|
||||
# define CXX_STD 201402L
|
||||
# else
|
||||
# define CXX_STD 201103L
|
||||
# endif
|
||||
# else
|
||||
# define CXX_STD 199711L
|
||||
# endif
|
||||
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
|
||||
# define CXX_STD _MSVC_LANG
|
||||
#else
|
||||
# define CXX_STD __cplusplus
|
||||
#endif
|
||||
|
||||
const char* info_language_standard_default = "INFO" ":" "standard_default["
|
||||
#if CXX_STD > 202002L
|
||||
"23"
|
||||
#elif CXX_STD > 201703L
|
||||
"20"
|
||||
#elif CXX_STD >= 201703L
|
||||
"17"
|
||||
#elif CXX_STD >= 201402L
|
||||
"14"
|
||||
#elif CXX_STD >= 201103L
|
||||
"11"
|
||||
#else
|
||||
"98"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
|
||||
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
|
||||
defined(__TI_COMPILER_VERSION__)) && \
|
||||
!defined(__STRICT_ANSI__)
|
||||
"ON"
|
||||
#else
|
||||
"OFF"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_standard_default[argc];
|
||||
require += info_language_extensions_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
BIN
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CompilerIdCXX/CompilerIdCXX.exe
vendored
Normal file
BIN
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CompilerIdCXX/CompilerIdCXX.exe
vendored
Normal file
Binary file not shown.
71
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CompilerIdCXX/CompilerIdCXX.vcxproj
vendored
Normal file
71
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/CompilerIdCXX/CompilerIdCXX.vcxproj
vendored
Normal file
@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{CAE07175-D007-4FC3-BFE8-47B392814159}</ProjectGuid>
|
||||
<RootNamespace>CompilerIdCXX</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
|
||||
|
||||
<WindowsTargetPlatformVersion>10.0.22000.0</WindowsTargetPlatformVersion>
|
||||
|
||||
|
||||
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup>
|
||||
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
||||
</ImportGroup>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>TurnOffAllWarnings</WarningLevel>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
|
||||
<Link>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>for %%i in (cl.exe) do %40echo CMAKE_CXX_COMPILER=%%~$PATH:i</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CMakeCXXCompilerId.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
|
||||
</ImportGroup>
|
||||
</Project>
|
Binary file not shown.
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project>
|
||||
<ProjectOutputs>
|
||||
<ProjectOutput>
|
||||
<FullPath>C:\Users\gregd\Documents\Source\autopsy\thirdparty\libheif\HeifConvertJNI\dist\CMakeFiles\3.23.0-rc2\CompilerIdCXX\CompilerIdCXX.exe</FullPath>
|
||||
</ProjectOutput>
|
||||
</ProjectOutputs>
|
||||
<ContentFiles />
|
||||
<SatelliteDlls />
|
||||
<NonRecipeFileRefs />
|
||||
</Project>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.31.31103:TargetPlatformVersion=10.0.22000.0:VcpkgTriplet=x64-windows:
|
||||
Debug|x64|C:\Users\gregd\Documents\Source\autopsy\thirdparty\libheif\HeifConvertJNI\dist\CMakeFiles\3.23.0-rc2\CompilerIdCXX\|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
|
1
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/VCTargetsPath.txt
vendored
Normal file
1
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/VCTargetsPath.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Microsoft/VC/v170
|
31
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/VCTargetsPath.vcxproj
vendored
Normal file
31
thirdparty/libheif/HeifConvertJNI/dist/CMakeFiles/3.23.0-rc2/VCTargetsPath.vcxproj
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{F3FC6D86-508D-3FB1-96D2-995F08B142EC}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<Platform>x64</Platform>
|
||||
<WindowsTargetPlatformVersion>10.0.22000.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
|
||||
<PropertyGroup>
|
||||
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<ConfigurationType>Utility</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
|
||||
<ItemDefinitionGroup>
|
||||
<PostBuildEvent>
|
||||
<Command>echo VCTargetsPath=$(VCTargetsPath)</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
|
||||
</Project>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user