1:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
2::
3:: Copyright (C) 2019 Intel Corporation.
4:: Contact: https://www.qt.io/licensing/
5::
6:: This file is part of the tools applications of the Qt Toolkit.
7::
8:: $QT_BEGIN_LICENSE:GPL-EXCEPT$
9:: Commercial License Usage
10:: Licensees holding valid commercial Qt licenses may use this file in
11:: accordance with the commercial license agreement provided with the
12:: Software or, alternatively, in accordance with the terms contained in
13:: a written agreement between you and The Qt Company. For licensing terms
14:: and conditions see https://www.qt.io/terms-conditions. For further
15:: information use the contact form at https://www.qt.io/contact-us.
16::
17:: GNU General Public License Usage
18:: Alternatively, this file may be used under the terms of the GNU
19:: General Public License version 3 as published by the Free Software
20:: Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
21:: included in the packaging of this file. Please review the following
22:: information to ensure the GNU General Public License requirements will
23:: be met: https://www.gnu.org/licenses/gpl-3.0.html.
24::
25:: $QT_END_LICENSE$
26::
27:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
28
29@echo off
30setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
31set me=%~dp0
32
33:: Check if certain tools are in PATH
34for %%C in (gzip.exe zstd.exe perl.exe) do set %%C=%%~$PATH:C
35
36:: If perl is in PATH, just let it do everything
37if not "%perl.exe%" == "" goto PuntToPerl
38
39set COMPRESS=
40set MACRO=MIME_DATABASE_IS_UNCOMPRESSED
41if not "%gzip.exe%" == "" (
42    set COMPRESS=gzip -9
43    set MACRO=MIME_DATABASE_IS_GZIP
44)
45
46:: Check if zstd support was enabled
47if /i "%~1" == "--zstd" (
48    shift
49    if not "%zstd.exe%" == "" (
50        set COMPRESS=zstd -19
51        set MACRO=MIME_DATABASE_IS_ZSTD
52    )
53)
54
55if not "%COMPRESS%" == "" goto CompressedCommon
56
57:: No Compression and no Perl
58:: Just hex-dump with Powershell
59powershell -ExecutionPolicy Bypass %me%hexdump.ps1 %1 %1
60exit /b %errorlevel%
61
62:CompressedCommon
63:: Compress to a temporary file, then hex-dump using Powershell
64echo #define %MACRO%
65set tempfile=generate%RANDOM%.tmp
66%COMPRESS% < %1 > %tempfile%
67powershell -ExecutionPolicy Bypass %me%hexdump.ps1 %tempfile% %1
68del %tempfile%
69exit /b %errorlevel%
70
71:PuntToPerl
72perl %me%generate.pl %*
73exit /b %errorlevel%
74