Removed the "Heimdall" folder and moved its contents to the root directory.
Esse commit está contido em:
externo
BIN
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
+120
@@ -0,0 +1,120 @@
|
||||
Heimdall (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
http://www.glassechidna.com.au/products/heimdall/
|
||||
|
||||
DISCLAIMER:
|
||||
|
||||
This software attempts to flash your Galaxy S device. The very nature of
|
||||
flashing is dangerous. As with all flashing software, Heimdall has the
|
||||
potential to damage (brick) your phone if not used carefully. If you're
|
||||
concerned, don't use this software. Flashing ROMs onto your phone may also
|
||||
void your warranty. I am not responsible for the result of your actions.
|
||||
|
||||
|
||||
|
||||
These instructions are for Linux operating systems.
|
||||
|
||||
Installing Heimdall from Source:
|
||||
|
||||
1. First make sure you have installed build-tools and pkgconfig.
|
||||
|
||||
2. Open a terminal and navigate to the directory you extracted Heimdall to.
|
||||
|
||||
3. Then enter the following commands to compile and install libusb-1.0:
|
||||
|
||||
cd libusb-1.0
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
|
||||
If you have problems please consult http://www.libusb.org/
|
||||
|
||||
4. Enter the following commands to compile and install Heimdall:
|
||||
|
||||
cd heimdall
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
|
||||
NOTE: You can use "checkinstall" instead of "make install" in order
|
||||
to generate a redistributable package.
|
||||
|
||||
5. If you're not installing from a package then run
|
||||
Linux/install-udev-rules.sh to setup user-level permissions for libusb.
|
||||
|
||||
6. Done
|
||||
|
||||
|
||||
|
||||
Installing Heimdall Frontend from Source (Optional):
|
||||
|
||||
1. First make sure you have installed Qt 4.6 or above,
|
||||
available from http://qt.nokia.com/.
|
||||
|
||||
2. Open a terminal and navigate to the directory you extracted Heimdall to.
|
||||
|
||||
3. Enter the following commands to compile and install Heimdall Frontend:
|
||||
|
||||
cd heimdall-frontend
|
||||
qmake heimdall-frontend.pro
|
||||
make
|
||||
sudo make install
|
||||
|
||||
NOTE: You can use "checkinstall" instead of "make install" in order to
|
||||
generate a redistributable package.
|
||||
|
||||
4. Done
|
||||
|
||||
|
||||
|
||||
Flashing Firmware with Heimdall Frontend:
|
||||
|
||||
1. Fully charge your device (use the wall charger as it's faster).
|
||||
|
||||
2. Download a decrypted Samsung Galaxy S ROM and extract it to a directory.
|
||||
|
||||
3. If the ROM is provided as one of more archives (nested or otherwise),
|
||||
extract them all to the same location.
|
||||
|
||||
NOTE: If you want to use the CSC then extract it last.
|
||||
|
||||
3. Open Heimdall Frontend.
|
||||
|
||||
4. Put your Galaxy S device into download mode.
|
||||
|
||||
5. For each file you wish to flash use "Browse" to select the file.
|
||||
|
||||
6. Press "Start".
|
||||
|
||||
7. Heimdall Frontend will display the progress and inform you when the
|
||||
flash is complete.
|
||||
|
||||
|
||||
|
||||
Flashing Firmware from Command Line / Terminal:
|
||||
|
||||
1. Fully charge your device (use the wall charger as it's faster).
|
||||
|
||||
2. Download a decrypted Samsung Galaxy S ROM and extract it to a directory.
|
||||
|
||||
3. If the ROM is provided as one of more archives (nested or otherwise),
|
||||
extract them all to the same location.
|
||||
|
||||
NOTE: If you want to use the CSC then extract it last.
|
||||
|
||||
4. Open a terminal and navigate to the directory where you extracted the
|
||||
ROM files.
|
||||
|
||||
5. Type the following to list all the functionality Heimdall supports:
|
||||
|
||||
heimdall help
|
||||
|
||||
8. Use the instructions to manually enter a command with all the files you
|
||||
want to flash.
|
||||
|
||||
Here is an example that does a full flash and repartition:
|
||||
|
||||
heimdall flash --repartition --pit s1_odin_20100512.pit --factoryfs factoryfs.rfs --cache cache.rfs --dbdata dbdata.rfs --primary-boot boot.bin --secondary-boot Sbl.bin --param param.lfs --kernel zImage --modem modem.bin
|
||||
|
||||
9. Done
|
||||
@@ -0,0 +1,120 @@
|
||||
Heimdall (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
http://www.glassechidna.com.au/products/heimdall/
|
||||
|
||||
DISCLAIMER:
|
||||
|
||||
This software attempts to flash your Galaxy S device. The very nature of
|
||||
flashing is dangerous. As with all flashing software, Heimdall has the
|
||||
potential to damage (brick) your phone if not used carefully. If you're
|
||||
concerned, don't use this software. Flashing ROMs onto your phone may also
|
||||
void your warranty. I am not responsible for the result of your actions.
|
||||
|
||||
|
||||
|
||||
These instructions are for Linux operating systems.
|
||||
|
||||
Installing Heimdall from Source:
|
||||
|
||||
1. First make sure you have installed build-tools and pkgconfig.
|
||||
|
||||
2. Open a terminal and navigate to the directory you extracted Heimdall to.
|
||||
|
||||
3. Then enter the following commands to compile and install libusb-1.0:
|
||||
|
||||
cd libusb-1.0
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
|
||||
If you have problems please consult http://www.libusb.org/
|
||||
|
||||
4. Enter the following commands to compile and install Heimdall:
|
||||
|
||||
cd heimdall
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
|
||||
NOTE: You can use "checkinstall" instead of "make install" in order
|
||||
to generate a redistributable package.
|
||||
|
||||
5. If you're not installing from a package then run
|
||||
Linux/install-udev-rules.sh to setup user-level permissions for libusb.
|
||||
|
||||
6. Done
|
||||
|
||||
|
||||
|
||||
Installing Heimdall Frontend from Source (Optional):
|
||||
|
||||
1. First make sure you have installed Qt 4.6 or above,
|
||||
available from http://qt.nokia.com/.
|
||||
|
||||
2. Open a terminal and navigate to the directory you extracted Heimdall to.
|
||||
|
||||
3. Enter the following commands to compile and install Heimdall Frontend:
|
||||
|
||||
cd heimdall-frontend
|
||||
qmake heimdall-frontend.pro
|
||||
make
|
||||
sudo make install
|
||||
|
||||
NOTE: You can use "checkinstall" instead of "make install" in order to
|
||||
cd generate a redistributable package.
|
||||
|
||||
4. Done
|
||||
|
||||
|
||||
|
||||
Flashing Firmware with Heimdall Frontend:
|
||||
|
||||
1. Fully charge your device (use the wall charger as it's faster).
|
||||
|
||||
2. Download a decrypted Samsung Galaxy S ROM and extract it to a directory.
|
||||
|
||||
3. If the ROM is provided as one of more archives (nested or otherwise),
|
||||
extract them all to the same location.
|
||||
|
||||
NOTE: If you want to use the CSC then extract it last.
|
||||
|
||||
3. Open Heimdall Frontend.
|
||||
|
||||
4. Put your Galaxy S device into download mode.
|
||||
|
||||
5. For each file you wish to flash use "Browse" to select the file.
|
||||
|
||||
6. Press "Start".
|
||||
|
||||
7. Heimdall Frontend will display the progress and inform you when the
|
||||
flash is complete.
|
||||
|
||||
|
||||
|
||||
Flashing Firmware from Command Line / Terminal:
|
||||
|
||||
1. Fully charge your device (use the wall charger as it's faster).
|
||||
|
||||
2. Download a decrypted Samsung Galaxy S ROM and extract it to a directory.
|
||||
|
||||
3. If the ROM is provided as one of more archives (nested or otherwise),
|
||||
extract them all to the same location.
|
||||
|
||||
NOTE: If you want to use the CSC then extract it last.
|
||||
|
||||
4. Open a terminal and navigate to the directory where you extracted the
|
||||
ROM files.
|
||||
|
||||
5. Type the following to list all the functionality Heimdall supports:
|
||||
|
||||
heimdall help
|
||||
|
||||
8. Use the instructions to manually enter a command with all the files you
|
||||
want to flash.
|
||||
|
||||
Here is an example that does a full flash and repartition:
|
||||
|
||||
heimdall flash --repartition --pit s1_odin_20100512.pit --factoryfs factoryfs.rfs --cache cache.rfs --dbdata dbdata.rfs --primary-boot boot.bin --secondary-boot Sbl.bin --param param.lfs --kernel zImage --modem modem.bin
|
||||
|
||||
9. Done
|
||||
Arquivo executável
+5
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
sudo echo "SUBSYSTEM==\"usb\", SYSFS{idVendor}==\"04e8\", SYSFS{idProduct}==\"6601\", MODE=\"0666\"" > /etc/udev/rules.d/60-heimdall-galaxy-s.rules
|
||||
sudo service udev reload
|
||||
exit 0
|
||||
|
||||
externo
BIN
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
@@ -0,0 +1,133 @@
|
||||
Heimdall (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
http://www.glassechidna.com.au/products/heimdall/
|
||||
|
||||
DISCLAIMER:
|
||||
|
||||
This software attempts to flash your Galaxy S device. The very nature of
|
||||
flashing is dangerous. As with all flashing software, Heimdall has the
|
||||
potential to damage (brick) your phone if not used carefully. If you're
|
||||
concerned, don't use this software. Flashing ROMs onto your phone may also
|
||||
void your warranty. Benjamin Dobell and Glass Echidna are not responsible
|
||||
for the result of your actions.
|
||||
|
||||
|
||||
|
||||
These instructions are for OS X operating systems.
|
||||
|
||||
Installing Heimdall and Heimdall Frontend Binaries:
|
||||
|
||||
1. Run "Heimdall Suite.pkg" and follow the instructions.
|
||||
|
||||
2. Reboot your system.
|
||||
|
||||
3. Done
|
||||
|
||||
|
||||
|
||||
Installing Heimdall from Source:
|
||||
|
||||
1. First make sure you have installed build-tools and pkgconfig.
|
||||
|
||||
2. Open a terminal and navigate to the directory where you extracted
|
||||
Heimdall.
|
||||
|
||||
3. Then enter the following commands to compile and install libusb-1.0:
|
||||
|
||||
cd libusb-1.0
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
|
||||
If you have problems please consult http://www.libusb.org/
|
||||
|
||||
4. Enter the following commands to compile and install Heimdall:
|
||||
|
||||
cd heimdall
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
|
||||
5. If you haven't installed the driver before, enter the following:
|
||||
|
||||
cd OSX
|
||||
sudo ./install-kext.sh
|
||||
|
||||
6. Done
|
||||
|
||||
|
||||
Installing Heimdall Frontend from Source (Optional):
|
||||
|
||||
1. First make sure you have installed XCode and Qt 4.6 or above,
|
||||
available from http://qt.nokia.com/.
|
||||
|
||||
2. Open a terminal and navigate to the directory where you extracted
|
||||
Heimdall.
|
||||
|
||||
3. Enter the following commands to compile and install Heimdall Frontend:
|
||||
|
||||
cd heimdall-frontend
|
||||
qmake heimdall-frontend.pro
|
||||
|
||||
4. This will produce an XCode project called heimdall-frontend.xcodeproj
|
||||
in the heimdall-frontend folder. Open this file in XCode.
|
||||
|
||||
5. From the menu bar select Build -> Build. This outputs heimdall-frontend
|
||||
to /Applications
|
||||
|
||||
6. Done
|
||||
|
||||
|
||||
|
||||
Flashing Firmware with Heimdall Frontend:
|
||||
|
||||
1. Fully charge your device (use the wall charger as it's faster).
|
||||
|
||||
2. Download a decrypted Samsung Galaxy S ROM and extract it to a directory.
|
||||
|
||||
3. If the ROM is provided as one of more archives (nested or otherwise),
|
||||
extract them all to the same location.
|
||||
|
||||
NOTE: If you want to use the CSC then extract it last.
|
||||
|
||||
3. Open Heimdall Frontend.
|
||||
|
||||
4. Put your Galaxy S device into download mode.
|
||||
|
||||
5. For each file you wish to flash use "Browse" to select the file.
|
||||
|
||||
6. Press "Start".
|
||||
|
||||
7. Heimdall Frontend will display the progress and inform you when the
|
||||
flash is complete.
|
||||
|
||||
|
||||
|
||||
Flashing Firmware from Command Line / Terminal:
|
||||
|
||||
1. Fully charge your device (use the wall charger as it's faster).
|
||||
|
||||
2. Download a decrypted Samsung Galaxy S ROM and extract it to a directory.
|
||||
|
||||
3. If the ROM is provided as one of more archives (nested or otherwise),
|
||||
extract them all to the same location.
|
||||
|
||||
NOTE: If you want to use the CSC then extract it last.
|
||||
|
||||
4. Open a terminal and navigate to the directory where you extracted the
|
||||
ROM files.
|
||||
|
||||
5. Type the following to list all the functionality Heimdall supports:
|
||||
|
||||
heimdall help
|
||||
|
||||
8. Use the instructions to manually enter a command with all the files you
|
||||
want to flash.
|
||||
|
||||
Here is an example that does a full flash and repartition:
|
||||
|
||||
heimdall flash --repartition --pit s1_odin_20100512.pit --factoryfs factoryfs.rfs --cache cache.rfs --dbdata dbdata.rfs --primary-boot boot.bin --secondary-boot Sbl.bin --param param.lfs --kernel zImage --modem modem.bin
|
||||
|
||||
9. Done
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key> <string>English</string>
|
||||
<key>CFBundleGetInfoString</key> <string>Galaxy S Download Mode (Heimdall)</string>
|
||||
<key>CFBundleIdentifier</key> <string>au.com.glassechidna.heimdall_usb_shield</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key> <string>6.0</string>
|
||||
<key>CFBundleName</key> <string>Galaxy S Download Mode (Heimdall)</string>
|
||||
<key>CFBundlePackageType</key> <string>KEXT</string>
|
||||
<key>CFBundleSignature</key> <string>????</string>
|
||||
<key>CFBundleVersion</key> <string>6.0</string>
|
||||
<key>IOKitPersonalities</key>
|
||||
<dict>
|
||||
<key>GalaxyS</key>
|
||||
<dict>
|
||||
<key>CFBundleIdentifier</key> <string>com.apple.driver.AppleUSBComposite</string>
|
||||
<key>IOClass</key> <string>AppleUSBComposite</string>
|
||||
<key>IOProviderClass</key> <string>IOUSBDevice</string>
|
||||
<key>idVendor</key> <integer>1256</integer>
|
||||
<key>idProduct</key> <integer>26113</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>OSBundleCompatibleVersion</key> <string>1.8</string>
|
||||
<key>OSBundleLibraries</key>
|
||||
<dict>
|
||||
<key>com.apple.kernel.iokit</key> <string>6.0</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
Arquivo executável
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
sudo chmod 755 /usr/local/bin/heimdall
|
||||
echo 'Installing Driver...'
|
||||
sudo cp -R heimdall.kext /System/Library/Extensions
|
||||
sudo chmod -R 755 /System/Library/Extensions/heimdall.kext
|
||||
sudo chown -R root:wheel /System/Library/Extensions/heimdall.kext
|
||||
sudo kextload /System/Library/Extensions/heimdall.kext
|
||||
echo 'Installation complete. If Heimdall cannot recognise your device a reboot may be required.'
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
--------------------------------------------------------------------------------
|
||||
Heimdall (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
http://www.glassechidna.com.au/products/heimdall/
|
||||
|
||||
DISCLAIMER:
|
||||
|
||||
This software attempts to flash your Galaxy S device. The very nature of
|
||||
flashing is dangerous. As with all flashing software, Heimdall has the
|
||||
potential to damage (brick) your phone if not used carefully. If you're
|
||||
concerned, don't use this software. Flashing ROMs onto your phone may also
|
||||
void your warranty. Benjamin Dobell and Glass Echidna are not responsible
|
||||
for the result of your actions.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
For more details about how to compile and install Heimdall please refer to the
|
||||
appropriate platform specific README:
|
||||
|
||||
- Linux:
|
||||
/Linux/README
|
||||
|
||||
- OS X
|
||||
/OSX/README.txt
|
||||
|
||||
- Windows
|
||||
/Win32/README.txt
|
||||
|
||||
Arquivo executável
BIN
Arquivo binário não exibido.
@@ -0,0 +1,107 @@
|
||||
Heimdall (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
http://www.glassechidna.com.au/products/heimdall/
|
||||
|
||||
DISCLAIMER:
|
||||
|
||||
This software attempts to flash your Galaxy S device. The very nature of
|
||||
flashing is dangerous. As with all flashing software, Heimdall has the
|
||||
potential to damage (brick) your phone if not used carefully. If you're
|
||||
concerned, don't use this software. Flashing ROMs onto your phone may also
|
||||
void your warranty. I am not responsible for the result of your actions.
|
||||
|
||||
|
||||
|
||||
These instructions were written for Windows Vista / Server 2008 however the producedure
|
||||
should be essentially the same for all supported versions of Windows (XP onwards).
|
||||
|
||||
Driver Installation Instructions:
|
||||
|
||||
1. Put your Samsung Galaxy S into download mode and plug it in.
|
||||
|
||||
2. Run zadig.exe included in the Drivers subdirectory.
|
||||
|
||||
3. From the menu chose Options -> List All Devices.
|
||||
|
||||
4. From the USB Device list chose "Samsung USB Composite DEvice".
|
||||
|
||||
5. Press "Install Driver", click "Yes" to the prompt and if you receive
|
||||
a message about being unable to verify the publisher of the driver
|
||||
click "Install this driver software anyway".
|
||||
|
||||
6. Done
|
||||
|
||||
|
||||
Driver Uninstallation Instructions:
|
||||
|
||||
1. Put your Samsung Galaxy S into download mode by holding Volume Down + Home + Power.
|
||||
|
||||
2. Plug your phone into your PC.
|
||||
|
||||
3. Open up Device Manager on your PC (Control Panel -> System -> Device Manager).
|
||||
|
||||
4. Under Universal Serial Bus Controllers right click on "Heimdall Galaxy S Driver" and chose Properties.
|
||||
|
||||
5. Go to the Driver tab and select Update Driver.
|
||||
|
||||
6. Chose to browse your computer for the driver.
|
||||
|
||||
7. Chose to pick from a list of devices drivers on your computer.
|
||||
|
||||
8. Pick the original Samsung Composite driver, press next and then follow the prompts.
|
||||
|
||||
9. Done
|
||||
|
||||
|
||||
|
||||
Flashing Firmware with Heimdall Frontend:
|
||||
|
||||
1. Fully charge your device (use the wall charger as it's faster).
|
||||
|
||||
2. Download a decrypted Samsung Galaxy S ROM and extract it to a directory.
|
||||
|
||||
3. If the ROM is provided as one of more archives (nested or otherwise),
|
||||
extract them all to the same location.
|
||||
|
||||
NOTE: If you want to use the CSC then extract it last.
|
||||
|
||||
3. Open Heimdall Frontend.
|
||||
|
||||
4. Put your Galaxy S device into download mode and plug it in.
|
||||
|
||||
5. For each file you wish to flash use "Browse" to select the file.
|
||||
|
||||
6. Press "Start".
|
||||
|
||||
7. Heimdall Frontend will display the progress and inform you when the
|
||||
flash is complete.
|
||||
|
||||
|
||||
|
||||
Flashing Firmware from Command Prompt:
|
||||
|
||||
1. Fully charge your phone (use the wall charger as it's faster).
|
||||
|
||||
2. Download a decrypted Samsung Galaxy S ROM and extract it to a directory.
|
||||
|
||||
3. If the ROM is provided as one of more archives (nested or otherwise),
|
||||
extract them all to the same location.
|
||||
|
||||
NOTE: If you want to use the CSC then extract it last.
|
||||
|
||||
4. Put your Galaxy S device into download mode and plug it in..
|
||||
|
||||
5. Open command prompt and navigate to the directory where you extracted the
|
||||
ROM files.
|
||||
|
||||
6. Type the following to list all the functionality Heimdall supports:
|
||||
|
||||
heimdall help
|
||||
|
||||
7. Use the instructions to manually enter a command with all the files you
|
||||
want to flash.
|
||||
|
||||
Here is an example that does a full flash and repartition:
|
||||
|
||||
heimdall flash --repartition --pit s1_odin_20100512.pit --factoryfs factoryfs.rfs --cache cache.rfs --dbdata dbdata.rfs --primary-boot boot.bin --secondary-boot Sbl.bin --param param.lfs --kernel zImage --modem modem.bin
|
||||
|
||||
8. Done
|
||||
externo
BIN
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<QTDIR>D:\development\cpp\libraries\Qt\2010.05\qt</QTDIR>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup />
|
||||
<ItemGroup>
|
||||
<BuildMacro Include="QTDIR">
|
||||
<Value>$(QTDIR)</Value>
|
||||
<EnvironmentVariable>true</EnvironmentVariable>
|
||||
</BuildMacro>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
BIN
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
@@ -0,0 +1,29 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
// Heimdall
|
||||
#include "aboutform.h"
|
||||
|
||||
using namespace HeimdallFrontend;
|
||||
|
||||
AboutForm::AboutForm(QWidget *parent) : QWidget(parent)
|
||||
{
|
||||
setupUi(this);
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
// Heimdall
|
||||
#include "ui_aboutform.h"
|
||||
|
||||
// Qt
|
||||
#include <QWidget>
|
||||
|
||||
namespace HeimdallFrontend
|
||||
{
|
||||
class AboutForm : public QWidget, public Ui::AboutForm
|
||||
{
|
||||
public:
|
||||
|
||||
explicit AboutForm(QWidget *parent = 0);
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
// Heimdall Frontend
|
||||
#include "mainwindow.h"
|
||||
|
||||
// Qt
|
||||
#include <QtGui/QApplication>
|
||||
|
||||
using namespace HeimdallFrontend;
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
|
||||
MainWindow w;
|
||||
w.show();
|
||||
|
||||
return a.exec();
|
||||
}
|
||||
@@ -0,0 +1,742 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
// Heimdall Frontend
|
||||
#include "mainwindow.h"
|
||||
|
||||
// Qt
|
||||
#include <QCoreApplication>
|
||||
#include <QDesktopServices>
|
||||
#include <QDir>
|
||||
#include <QFileDialog>
|
||||
#include <QProcess>
|
||||
#include <QRegExp>
|
||||
#include <QUrl>
|
||||
|
||||
using namespace HeimdallFrontend;
|
||||
|
||||
bool MainWindow::IsArchive(QString path)
|
||||
{
|
||||
// Not a real check but hopefully it gets the message across, don't flash archives!
|
||||
return (path.endsWith(".tar", Qt::CaseInsensitive) || path.endsWith(".gz", Qt::CaseInsensitive) || path.endsWith(".zip", Qt::CaseInsensitive)
|
||||
|| path.endsWith(".bz2", Qt::CaseInsensitive) || path.endsWith(".7z", Qt::CaseInsensitive) || path.endsWith(".rar", Qt::CaseInsensitive));
|
||||
}
|
||||
|
||||
QString MainWindow::PromptFileSelection(void)
|
||||
{
|
||||
QString path = QFileDialog::getOpenFileName(this, "Select File", lastDirectory);
|
||||
|
||||
if (path != "")
|
||||
lastDirectory = path.left(path.lastIndexOf('/') + 1);
|
||||
|
||||
return (path);
|
||||
}
|
||||
|
||||
void MainWindow::UpdateStartButton(void)
|
||||
{
|
||||
if (heimdallRunning)
|
||||
{
|
||||
startFlashButton->setEnabled(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (repartitionCheckBox->isChecked())
|
||||
{
|
||||
if (!IsArchive(pitLineEdit->text()) && factoryfsCheckBox->isChecked() && !IsArchive(factoryfsLineEdit->text()) && kernelCheckBox->isChecked()
|
||||
&& !IsArchive(kernelLineEdit->text()) && paramCheckBox->isChecked() && !IsArchive(paramLineEdit->text())
|
||||
&& primaryBootCheckBox->isChecked() && !IsArchive(primaryBootLineEdit->text()) && secondaryBootCheckBox->isChecked()
|
||||
&& !IsArchive(secondaryBootLineEdit->text()) && modemCheckBox->isChecked() && !IsArchive(modemLineEdit->text()))
|
||||
{
|
||||
startFlashButton->setEnabled(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
startFlashButton->setEnabled(false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
bool atLeastOneFile = false;
|
||||
|
||||
if (factoryfsCheckBox->isChecked())
|
||||
{
|
||||
atLeastOneFile = true;
|
||||
|
||||
if (IsArchive(factoryfsLineEdit->text()))
|
||||
{
|
||||
startFlashButton->setEnabled(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (kernelCheckBox->isChecked())
|
||||
{
|
||||
atLeastOneFile = true;
|
||||
|
||||
if (IsArchive(kernelLineEdit->text()))
|
||||
{
|
||||
startFlashButton->setEnabled(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (paramCheckBox->isChecked())
|
||||
{
|
||||
atLeastOneFile = true;
|
||||
|
||||
if (IsArchive(paramLineEdit->text()))
|
||||
{
|
||||
startFlashButton->setEnabled(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (primaryBootCheckBox->isChecked())
|
||||
{
|
||||
atLeastOneFile = true;
|
||||
|
||||
if (IsArchive(primaryBootLineEdit->text()))
|
||||
{
|
||||
startFlashButton->setEnabled(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (secondaryBootCheckBox->isChecked())
|
||||
{
|
||||
atLeastOneFile = true;
|
||||
|
||||
if (IsArchive(secondaryBootLineEdit->text()))
|
||||
{
|
||||
startFlashButton->setEnabled(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (cacheCheckBox->isChecked())
|
||||
{
|
||||
atLeastOneFile = true;
|
||||
|
||||
if (IsArchive(cacheLineEdit->text()))
|
||||
{
|
||||
startFlashButton->setEnabled(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (databaseCheckBox->isChecked())
|
||||
{
|
||||
atLeastOneFile = true;
|
||||
|
||||
if (IsArchive(databaseLineEdit->text()))
|
||||
{
|
||||
startFlashButton->setEnabled(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (modemCheckBox->isChecked())
|
||||
{
|
||||
atLeastOneFile = true;
|
||||
|
||||
if (IsArchive(modemLineEdit->text()))
|
||||
{
|
||||
startFlashButton->setEnabled(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (recoveryCheckBox->isChecked())
|
||||
{
|
||||
atLeastOneFile = true;
|
||||
|
||||
if (IsArchive(recoveryLineEdit->text()))
|
||||
{
|
||||
startFlashButton->setEnabled(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
startFlashButton->setEnabled(atLeastOneFile);
|
||||
}
|
||||
}
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
|
||||
{
|
||||
setupUi(this);
|
||||
|
||||
heimdallRunning = false;
|
||||
|
||||
lastDirectory = QDir::toNativeSeparators(QApplication::applicationDirPath());
|
||||
|
||||
QObject::connect(actionDonate, SIGNAL(triggered()), this, SLOT(OpenDonationWebpage()));
|
||||
QObject::connect(actionAboutHeimdall, SIGNAL(triggered()), this, SLOT(ShowAbout()));
|
||||
|
||||
QObject::connect(pitBrowseButton, SIGNAL(clicked()), this, SLOT(SelectPit()));
|
||||
QObject::connect(factoryfsBrowseButton, SIGNAL(clicked()), this, SLOT(SelectFactoryfs()));
|
||||
QObject::connect(kernelBrowseButton, SIGNAL(clicked()), this, SLOT(SelectKernel()));
|
||||
QObject::connect(paramBrowseButton, SIGNAL(clicked()), this, SLOT(SelectParam()));
|
||||
QObject::connect(primaryBootBrowseButton, SIGNAL(clicked()), this, SLOT(SelectPrimaryBootloader()));
|
||||
QObject::connect(secondaryBootBrowseButton, SIGNAL(clicked()), this, SLOT(SelectSecondaryBootloader()));
|
||||
QObject::connect(cacheBrowseButton, SIGNAL(clicked()), this, SLOT(SelectCache()));
|
||||
QObject::connect(databaseBrowseButton, SIGNAL(clicked()), this, SLOT(SelectDatabase()));
|
||||
QObject::connect(modemBrowseButton, SIGNAL(clicked()), this, SLOT(SelectModem()));
|
||||
QObject::connect(recoveryBrowseButton, SIGNAL(clicked()), this, SLOT(SelectRecovery()));
|
||||
|
||||
QObject::connect(repartitionCheckBox, SIGNAL(stateChanged(int)), this, SLOT(SetRepartionEnabled(int)));
|
||||
QObject::connect(factoryfsCheckBox, SIGNAL(stateChanged(int)), this, SLOT(SetFactoryfsEnabled(int)));
|
||||
QObject::connect(kernelCheckBox, SIGNAL(stateChanged(int)), this, SLOT(SetKernelEnabled(int)));
|
||||
QObject::connect(paramCheckBox, SIGNAL(stateChanged(int)), this, SLOT(SetParamEnabled(int)));
|
||||
QObject::connect(primaryBootCheckBox, SIGNAL(stateChanged(int)), this, SLOT(SetPrimaryBootloaderEnabled(int)));
|
||||
QObject::connect(secondaryBootCheckBox, SIGNAL(stateChanged(int)), this, SLOT(SetSecondaryBootloaderEnabled(int)));
|
||||
QObject::connect(cacheCheckBox, SIGNAL(stateChanged(int)), this, SLOT(SetCacheEnabled(int)));
|
||||
QObject::connect(databaseCheckBox, SIGNAL(stateChanged(int)), this, SLOT(SetDatabaseEnabled(int)));
|
||||
QObject::connect(modemCheckBox, SIGNAL(stateChanged(int)), this, SLOT(SetModemEnabled(int)));
|
||||
QObject::connect(recoveryCheckBox, SIGNAL(stateChanged(int)), this, SLOT(SetRecoveryEnabled(int)));
|
||||
|
||||
QObject::connect(startFlashButton, SIGNAL(clicked()), this, SLOT(StartFlash()));
|
||||
|
||||
QObject::connect(&process, SIGNAL(readyRead()), this, SLOT(HandleHeimdallStdout()));
|
||||
QObject::connect(&process, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(HandleHeimdallReturned(int, QProcess::ExitStatus)));
|
||||
QObject::connect(&process, SIGNAL(error(QProcess::ProcessError)), this, SLOT(HandleHeimdallError(QProcess::ProcessError)));
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
{
|
||||
}
|
||||
|
||||
void MainWindow::OpenDonationWebpage(void)
|
||||
{
|
||||
QDesktopServices::openUrl(QUrl("http://www.glassechidna.com.au/donate/", QUrl::StrictMode));
|
||||
}
|
||||
|
||||
void MainWindow::ShowAbout(void)
|
||||
{
|
||||
aboutForm.show();
|
||||
}
|
||||
|
||||
void MainWindow::SelectPit(void)
|
||||
{
|
||||
QString path = PromptFileSelection();
|
||||
pitLineEdit->setText(path);
|
||||
|
||||
SetRepartionEnabled(path != "");
|
||||
}
|
||||
|
||||
void MainWindow::SelectFactoryfs(void)
|
||||
{
|
||||
QString path = PromptFileSelection();
|
||||
factoryfsLineEdit->setText(path);
|
||||
|
||||
SetFactoryfsEnabled(path != "");
|
||||
}
|
||||
|
||||
void MainWindow::SelectKernel(void)
|
||||
{
|
||||
QString path = PromptFileSelection();
|
||||
kernelLineEdit->setText(path);
|
||||
|
||||
SetKernelEnabled(path != "");
|
||||
}
|
||||
|
||||
void MainWindow::SelectParam(void)
|
||||
{
|
||||
QString path = PromptFileSelection();
|
||||
paramLineEdit->setText(path);
|
||||
|
||||
SetParamEnabled(path != "");
|
||||
}
|
||||
|
||||
void MainWindow::SelectPrimaryBootloader(void)
|
||||
{
|
||||
QString path = PromptFileSelection();
|
||||
primaryBootLineEdit->setText(path);
|
||||
|
||||
SetPrimaryBootloaderEnabled(path != "");
|
||||
}
|
||||
|
||||
void MainWindow::SelectSecondaryBootloader(void)
|
||||
{
|
||||
QString path = PromptFileSelection();
|
||||
secondaryBootLineEdit->setText(path);
|
||||
|
||||
SetSecondaryBootloaderEnabled(path != "");
|
||||
}
|
||||
|
||||
void MainWindow::SelectCache(void)
|
||||
{
|
||||
QString path = PromptFileSelection();
|
||||
cacheLineEdit->setText(path);
|
||||
|
||||
SetCacheEnabled(path != "");
|
||||
}
|
||||
|
||||
void MainWindow::SelectDatabase(void)
|
||||
{
|
||||
QString path = PromptFileSelection();
|
||||
databaseLineEdit->setText(path);
|
||||
|
||||
SetDatabaseEnabled(path != "");
|
||||
}
|
||||
|
||||
void MainWindow::SelectModem(void)
|
||||
{
|
||||
QString path = PromptFileSelection();
|
||||
modemLineEdit->setText(path);
|
||||
|
||||
SetModemEnabled(path != "");
|
||||
}
|
||||
|
||||
void MainWindow::SelectRecovery(void)
|
||||
{
|
||||
QString path = PromptFileSelection();
|
||||
recoveryLineEdit->setText(path);
|
||||
|
||||
SetRecoveryEnabled(path != "");
|
||||
}
|
||||
|
||||
void MainWindow::SetRepartionEnabled(int enabled)
|
||||
{
|
||||
if (repartitionCheckBox->isChecked() != (enabled != 0))
|
||||
repartitionCheckBox->setChecked(enabled);
|
||||
|
||||
if (enabled)
|
||||
{
|
||||
repartitionCheckBox->setEnabled(true);
|
||||
pitLineEdit->setEnabled(true);
|
||||
repartitionCheckBox->setChecked(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
repartitionCheckBox->setEnabled(pitLineEdit->text() != "");
|
||||
pitLineEdit->setEnabled(false);
|
||||
}
|
||||
|
||||
UpdateStartButton();
|
||||
}
|
||||
|
||||
void MainWindow::SetFactoryfsEnabled(int enabled)
|
||||
{
|
||||
if (factoryfsCheckBox->isChecked() != (enabled != 0))
|
||||
factoryfsCheckBox->setChecked(enabled);
|
||||
|
||||
if (enabled)
|
||||
{
|
||||
factoryfsCheckBox->setEnabled(true);
|
||||
factoryfsLineEdit->setEnabled(true);
|
||||
factoryfsCheckBox->setChecked(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
factoryfsCheckBox->setEnabled(factoryfsLineEdit->text() != "");
|
||||
factoryfsLineEdit->setEnabled(false);
|
||||
}
|
||||
|
||||
UpdateStartButton();
|
||||
}
|
||||
|
||||
void MainWindow::SetKernelEnabled(int enabled)
|
||||
{
|
||||
if (kernelCheckBox->isChecked() != (enabled != 0))
|
||||
kernelCheckBox->setChecked(enabled);
|
||||
|
||||
if (enabled)
|
||||
{
|
||||
kernelCheckBox->setEnabled(true);
|
||||
kernelLineEdit->setEnabled(true);
|
||||
kernelCheckBox->setChecked(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
kernelCheckBox->setEnabled(kernelLineEdit->text() != "");
|
||||
kernelLineEdit->setEnabled(false);
|
||||
}
|
||||
|
||||
UpdateStartButton();
|
||||
}
|
||||
|
||||
void MainWindow::SetParamEnabled(int enabled)
|
||||
{
|
||||
if (paramCheckBox->isChecked() != (enabled != 0))
|
||||
paramCheckBox->setChecked(enabled);
|
||||
|
||||
if (enabled)
|
||||
{
|
||||
paramCheckBox->setEnabled(true);
|
||||
paramLineEdit->setEnabled(true);
|
||||
paramCheckBox->setChecked(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
paramCheckBox->setEnabled(paramLineEdit->text() != "");
|
||||
paramLineEdit->setEnabled(false);
|
||||
}
|
||||
|
||||
UpdateStartButton();
|
||||
}
|
||||
|
||||
void MainWindow::SetPrimaryBootloaderEnabled(int enabled)
|
||||
{
|
||||
if (primaryBootCheckBox->isChecked() != (enabled != 0))
|
||||
primaryBootCheckBox->setChecked(enabled);
|
||||
|
||||
if (enabled)
|
||||
{
|
||||
primaryBootCheckBox->setEnabled(true);
|
||||
primaryBootLineEdit->setEnabled(true);
|
||||
primaryBootCheckBox->setChecked(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
primaryBootCheckBox->setEnabled(primaryBootLineEdit->text() != "");
|
||||
primaryBootLineEdit->setEnabled(false);
|
||||
}
|
||||
|
||||
UpdateStartButton();
|
||||
}
|
||||
|
||||
void MainWindow::SetSecondaryBootloaderEnabled(int enabled)
|
||||
{
|
||||
if (secondaryBootCheckBox->isChecked() != (enabled != 0))
|
||||
secondaryBootCheckBox->setChecked(enabled);
|
||||
|
||||
if (enabled)
|
||||
{
|
||||
secondaryBootCheckBox->setEnabled(true);
|
||||
secondaryBootLineEdit->setEnabled(true);
|
||||
secondaryBootCheckBox->setChecked(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
secondaryBootCheckBox->setEnabled(secondaryBootLineEdit->text() != "");
|
||||
secondaryBootLineEdit->setEnabled(false);
|
||||
}
|
||||
|
||||
UpdateStartButton();
|
||||
}
|
||||
|
||||
void MainWindow::SetCacheEnabled(int enabled)
|
||||
{
|
||||
if (cacheCheckBox->isChecked() != (enabled != 0))
|
||||
cacheCheckBox->setChecked(enabled);
|
||||
|
||||
if (enabled)
|
||||
{
|
||||
cacheCheckBox->setEnabled(true);
|
||||
cacheLineEdit->setEnabled(true);
|
||||
cacheCheckBox->setChecked(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
cacheCheckBox->setEnabled(cacheLineEdit->text() != "");
|
||||
cacheLineEdit->setEnabled(false);
|
||||
}
|
||||
|
||||
UpdateStartButton();
|
||||
}
|
||||
|
||||
void MainWindow::SetDatabaseEnabled(int enabled)
|
||||
{
|
||||
if (databaseCheckBox->isChecked() != (enabled != 0))
|
||||
databaseCheckBox->setChecked(enabled);
|
||||
|
||||
if (enabled)
|
||||
{
|
||||
databaseCheckBox->setEnabled(true);
|
||||
databaseLineEdit->setEnabled(true);
|
||||
databaseCheckBox->setChecked(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
databaseCheckBox->setEnabled(databaseLineEdit->text() != "");
|
||||
databaseLineEdit->setEnabled(false);
|
||||
}
|
||||
|
||||
UpdateStartButton();
|
||||
}
|
||||
|
||||
void MainWindow::SetModemEnabled(int enabled)
|
||||
{
|
||||
if (modemCheckBox->isChecked() != (enabled != 0))
|
||||
modemCheckBox->setChecked(enabled);
|
||||
|
||||
if (enabled)
|
||||
{
|
||||
modemCheckBox->setEnabled(true);
|
||||
modemLineEdit->setEnabled(true);
|
||||
modemCheckBox->setChecked(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
modemCheckBox->setEnabled(databaseLineEdit->text() != "");
|
||||
modemLineEdit->setEnabled(false);
|
||||
}
|
||||
|
||||
UpdateStartButton();
|
||||
}
|
||||
|
||||
void MainWindow::SetRecoveryEnabled(int enabled)
|
||||
{
|
||||
if (recoveryCheckBox->isChecked() != (enabled != 0))
|
||||
recoveryCheckBox->setChecked(enabled);
|
||||
|
||||
if (enabled)
|
||||
{
|
||||
recoveryCheckBox->setEnabled(true);
|
||||
recoveryLineEdit->setEnabled(true);
|
||||
recoveryCheckBox->setChecked(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
recoveryCheckBox->setEnabled(databaseLineEdit->text() != "");
|
||||
recoveryLineEdit->setEnabled(false);
|
||||
}
|
||||
|
||||
UpdateStartButton();
|
||||
}
|
||||
|
||||
void MainWindow::StartFlash(void)
|
||||
{
|
||||
heimdallRunning = true;
|
||||
heimdallFailed = false;
|
||||
|
||||
QStringList arguments;
|
||||
arguments.append("flash");
|
||||
|
||||
if (repartitionCheckBox->isChecked())
|
||||
{
|
||||
arguments.append("--pit");
|
||||
arguments.append(pitLineEdit->text());
|
||||
}
|
||||
|
||||
if (factoryfsCheckBox->isChecked())
|
||||
{
|
||||
arguments.append("--factoryfs");
|
||||
arguments.append(factoryfsLineEdit->text());
|
||||
}
|
||||
|
||||
if (kernelCheckBox->isChecked())
|
||||
{
|
||||
arguments.append("--kernel");
|
||||
arguments.append(kernelLineEdit->text());
|
||||
}
|
||||
|
||||
if (paramCheckBox->isChecked())
|
||||
{
|
||||
arguments.append("--param");
|
||||
arguments.append(paramLineEdit->text());
|
||||
}
|
||||
|
||||
if (primaryBootCheckBox->isChecked())
|
||||
{
|
||||
arguments.append("--primary-boot");
|
||||
arguments.append(primaryBootLineEdit->text());
|
||||
}
|
||||
|
||||
if (secondaryBootCheckBox->isChecked())
|
||||
{
|
||||
arguments.append("--secondary-boot");
|
||||
arguments.append(secondaryBootLineEdit->text());
|
||||
}
|
||||
|
||||
if (cacheCheckBox->isChecked())
|
||||
{
|
||||
arguments.append("--cache");
|
||||
arguments.append(cacheLineEdit->text());
|
||||
}
|
||||
|
||||
if (databaseCheckBox->isChecked())
|
||||
{
|
||||
arguments.append("--dbdata");
|
||||
arguments.append(databaseLineEdit->text());
|
||||
}
|
||||
|
||||
if (modemCheckBox->isChecked())
|
||||
{
|
||||
arguments.append("--modem");
|
||||
arguments.append(modemLineEdit->text());
|
||||
}
|
||||
|
||||
if (recoveryCheckBox->isChecked())
|
||||
{
|
||||
arguments.append("--recovery");
|
||||
arguments.append(recoveryLineEdit->text());
|
||||
}
|
||||
|
||||
if (repartitionCheckBox->isChecked())
|
||||
{
|
||||
arguments.append("--repartition");
|
||||
}
|
||||
|
||||
flashProgressBar->setEnabled(true);
|
||||
UpdateStartButton();
|
||||
|
||||
int pathIndex = -1;
|
||||
process.setReadChannel(QProcess::StandardOutput);
|
||||
|
||||
process.start("heimdall", arguments);
|
||||
process.waitForStarted(1000);
|
||||
|
||||
// OS X was playing up and not finding heimdall, so we're manually checking the PATH.
|
||||
if (heimdallFailed)
|
||||
{
|
||||
QStringList environment = QProcess::systemEnvironment();
|
||||
|
||||
QStringList paths;
|
||||
// Ensure /usr/local/bin is in PATH
|
||||
for (int i = 0; i < environment.length(); i++)
|
||||
{
|
||||
if (environment[i].left(5) == "PATH=")
|
||||
{
|
||||
paths = environment[i].mid(5).split(':');
|
||||
paths.prepend("/usr/local/bin");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
while (heimdallFailed && ++pathIndex < paths.length())
|
||||
{
|
||||
QString heimdallPath = paths[pathIndex];
|
||||
|
||||
if (heimdallPath.length() > 0)
|
||||
{
|
||||
heimdallFailed = false;
|
||||
|
||||
if (heimdallPath[heimdallPath.length() - 1] != QDir::separator())
|
||||
heimdallPath += QDir::separator();
|
||||
|
||||
heimdallPath += "heimdall";
|
||||
|
||||
process.start(heimdallPath, arguments);
|
||||
process.waitForStarted(1000);
|
||||
}
|
||||
}
|
||||
|
||||
if (heimdallFailed)
|
||||
{
|
||||
flashLabel->setText("Failed to start Heimdall!");
|
||||
|
||||
heimdallRunning = false;
|
||||
flashProgressBar->setEnabled(false);
|
||||
UpdateStartButton();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::HandleHeimdallStdout(void)
|
||||
{
|
||||
QString output = process.read(1024);
|
||||
|
||||
// We often receive multiple lots of output from Heimdall at one time. So we use regular expressions
|
||||
// to ensure we don't miss out on any important information.
|
||||
QRegExp uploadingExp("Uploading [^\n]+\n");
|
||||
if (output.lastIndexOf(uploadingExp) > -1)
|
||||
flashLabel->setText(uploadingExp.cap().left(uploadingExp.cap().length() - 1));
|
||||
|
||||
QRegExp percentExp("[\b\n][0-9]+%");
|
||||
if (output.lastIndexOf(percentExp) > -1)
|
||||
{
|
||||
QString percentString = percentExp.cap();
|
||||
flashProgressBar->setValue(percentString.mid(1, percentString.length() - 2).toInt());
|
||||
}
|
||||
|
||||
/*// Handle other information
|
||||
|
||||
int endOfLastLine = output.length() - 1;
|
||||
for (; endOfLastLine > -1; endOfLastLine--)
|
||||
{
|
||||
if (output[endOfLastLine] != '\n')
|
||||
break;
|
||||
}
|
||||
|
||||
if (endOfLastLine < 0)
|
||||
return; // Output was blank or just a bunch of new line characters.
|
||||
|
||||
int startOfLastLine = endOfLastLine - 1;
|
||||
for (; startOfLastLine > -1; startOfLastLine--)
|
||||
{
|
||||
if (output[startOfLastLine] == '\n')
|
||||
break;
|
||||
}
|
||||
|
||||
startOfLastLine++;
|
||||
|
||||
// Just look at the last line of the output
|
||||
output = output.mid(startOfLastLine, endOfLastLine - startOfLastLine + 1); // Work with the last line only
|
||||
|
||||
percentExp.setPattern("[0-9]+%");
|
||||
|
||||
// If the last line wasn't a uploading message or a percentage transferred then display it.
|
||||
if (output.lastIndexOf(uploadingExp) < 0 && output.lastIndexOf(percentExp) < 0)
|
||||
flashLabel->setText(output);*/
|
||||
}
|
||||
|
||||
void MainWindow::HandleHeimdallReturned(int exitCode, QProcess::ExitStatus exitStatus)
|
||||
{
|
||||
// This is a work-around for strange issues as a result of a exitCode being cast to
|
||||
// a unsigned char.
|
||||
char byteExitCode = exitCode;
|
||||
|
||||
heimdallRunning = false;
|
||||
flashProgressBar->setEnabled(false);
|
||||
UpdateStartButton();
|
||||
|
||||
if (exitStatus == QProcess::NormalExit && byteExitCode >= 0)
|
||||
{
|
||||
flashLabel->setText("Flash completed sucessfully!");
|
||||
}
|
||||
else
|
||||
{
|
||||
QString error = process.readAllStandardError();
|
||||
|
||||
int firstNewLineChar = error.indexOf('\n');
|
||||
|
||||
if (firstNewLineChar == 0)
|
||||
error = error.mid(1);
|
||||
else
|
||||
error = error.left(firstNewLineChar);
|
||||
|
||||
flashLabel->setText(error);
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::HandleHeimdallError(QProcess::ProcessError error)
|
||||
{
|
||||
if (error == QProcess::FailedToStart || error == QProcess::Timedout)
|
||||
{
|
||||
heimdallFailed = true;
|
||||
}
|
||||
else if (error == QProcess::Crashed)
|
||||
{
|
||||
flashLabel->setText("Heimdall crashed!");
|
||||
|
||||
heimdallRunning = false;
|
||||
flashProgressBar->setEnabled(false);
|
||||
UpdateStartButton();
|
||||
}
|
||||
else
|
||||
{
|
||||
flashLabel->setText("Heimdall reported an unknown error!");
|
||||
|
||||
heimdallRunning = false;
|
||||
flashProgressBar->setEnabled(false);
|
||||
UpdateStartButton();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef MAINWINDOW_H
|
||||
#define MAINWINDOW_H
|
||||
|
||||
// Heimdall Frontend
|
||||
#include "aboutform.h"
|
||||
#include "ui_mainwindow.h"
|
||||
|
||||
// Qt
|
||||
#include <QMainWindow>
|
||||
#include <QProcess>
|
||||
|
||||
namespace HeimdallFrontend
|
||||
{
|
||||
class MainWindow : public QMainWindow, public Ui::MainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private:
|
||||
|
||||
AboutForm aboutForm;
|
||||
|
||||
QString lastDirectory;
|
||||
|
||||
bool heimdallFailed;
|
||||
bool heimdallRunning;
|
||||
QProcess process;
|
||||
|
||||
bool IsArchive(QString path);
|
||||
|
||||
QString PromptFileSelection(void);
|
||||
void UpdateStartButton(void);
|
||||
|
||||
public:
|
||||
|
||||
explicit MainWindow(QWidget *parent = 0);
|
||||
~MainWindow();
|
||||
|
||||
public slots:
|
||||
|
||||
void OpenDonationWebpage(void);
|
||||
void ShowAbout(void);
|
||||
|
||||
void SelectPit(void);
|
||||
void SelectFactoryfs(void);
|
||||
void SelectKernel(void);
|
||||
void SelectParam(void);
|
||||
void SelectPrimaryBootloader(void);
|
||||
void SelectSecondaryBootloader(void);
|
||||
void SelectCache(void);
|
||||
void SelectDatabase(void);
|
||||
void SelectModem(void);
|
||||
void SelectRecovery(void);
|
||||
|
||||
void SetRepartionEnabled(int enabled);
|
||||
void SetFactoryfsEnabled(int enabled);
|
||||
void SetKernelEnabled(int enabled);
|
||||
void SetParamEnabled(int enabled);
|
||||
void SetPrimaryBootloaderEnabled(int enabled);
|
||||
void SetSecondaryBootloaderEnabled(int enabled);
|
||||
void SetCacheEnabled(int enabled);
|
||||
void SetDatabaseEnabled(int enabled);
|
||||
void SetModemEnabled(int enabled);
|
||||
void SetRecoveryEnabled(int enabled);
|
||||
|
||||
void StartFlash(void);
|
||||
|
||||
void HandleHeimdallStdout(void);
|
||||
void HandleHeimdallReturned(int exitCode, QProcess::ExitStatus exitStatus);
|
||||
void HandleHeimdallError(QProcess::ProcessError error);
|
||||
};
|
||||
}
|
||||
|
||||
#endif // MAINWINDOW_H
|
||||
@@ -0,0 +1,348 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>AboutForm</class>
|
||||
<widget class="QWidget" name="AboutForm">
|
||||
<property name="windowModality">
|
||||
<enum>Qt::ApplicationModal</enum>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>622</width>
|
||||
<height>561</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>561</width>
|
||||
<height>551</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>700</width>
|
||||
<height>600</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>About Heimdall Frontend 1.1</string>
|
||||
</property>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>601</width>
|
||||
<height>541</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>190</y>
|
||||
<width>581</width>
|
||||
<height>241</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>9</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>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.</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="indent">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="openExternalLinks">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>440</y>
|
||||
<width>581</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>If you appreciate this software and you would like to support future development please consider donating:</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="openExternalLinks">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="okPushButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>260</x>
|
||||
<y>510</y>
|
||||
<width>75</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>OK</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>581</width>
|
||||
<height>101</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>9</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Heimdall Frontend
|
||||
Version 1.1.0
|
||||
Copyright © 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
Heimdall
|
||||
Version 1.1.0
|
||||
Copyright © 2010 Benjamin Dobell, Glass Echidna</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
<property name="openExternalLinks">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>118</y>
|
||||
<width>581</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Heimdall Homepage:</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>130</y>
|
||||
<width>581</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.glassechidna.com.au/products/heimdall/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">http://www.glassechidna.com.au/products/heimdall/</span></a></p></body></html></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::RichText</enum>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
<property name="openExternalLinks">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>150</y>
|
||||
<width>581</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Glass Echidna Homepage:</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>162</y>
|
||||
<width>581</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.glassechidna.com.au/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">http://www.glassechidna.com.au/</span></a></p></body></html></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::RichText</enum>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
<property name="openExternalLinks">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>480</y>
|
||||
<width>581</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.glassechidna.com.au/donate/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">http://www.glassechidna.com.au/donate/</span></a></p></body></html></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::RichText</enum>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="openExternalLinks">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>okPushButton</sender>
|
||||
<signal>clicked()</signal>
|
||||
<receiver>AboutForm</receiver>
|
||||
<slot>close()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>247</x>
|
||||
<y>520</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>245</x>
|
||||
<y>275</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
@@ -0,0 +1 @@
|
||||
Heimdall Frontend is the official graphical user interface for the Heimdall tool suite.
|
||||
@@ -0,0 +1,19 @@
|
||||
Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.
|
||||
@@ -0,0 +1,119 @@
|
||||
Heimdall (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
http://www.glassechidna.com.au/products/heimdall/
|
||||
|
||||
DISCLAIMER:
|
||||
|
||||
This software attempts to flash your Galaxy S device. The very nature of
|
||||
flashing is dangerous. As with all flashing software, Heimdall has the
|
||||
potential to damage (brick) your phone if not used carefully. If you're
|
||||
concerned, don't use this software. Flashing ROMs onto your phone may also
|
||||
void your warranty. I am not responsible for the result of your actions.
|
||||
|
||||
|
||||
|
||||
These instructions are for Linux operating systems.
|
||||
|
||||
Installing Heimdall from Source:
|
||||
|
||||
1. First make sure you have installed build-tools and pkgconfig.
|
||||
|
||||
2. Open a terminal and navigate to the directory you extracted Heimdall to.
|
||||
|
||||
3. Then enter the following commands to compile and install libusb-1.0:
|
||||
|
||||
cd libusb-1.0
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
|
||||
If you have problems please consult http://www.libusb.org/
|
||||
|
||||
4. Enter the following commands to compile and install Heimdall:
|
||||
|
||||
cd heimdall
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
|
||||
NOTE: You can use "checkinstall" instead of "make install" in order
|
||||
to generate a redistributable package.
|
||||
|
||||
5. Done
|
||||
|
||||
|
||||
|
||||
Installing Heimdall Frontend from Source (Optional):
|
||||
|
||||
1. First make sure you have installed Qt 4.6 or above,
|
||||
available from http://qt.nokia.com/.
|
||||
|
||||
2. Open a terminal and navigate to the directory you extracted Heimdall to.
|
||||
|
||||
3. Enter the following commands to compile and install Heimdall Frontend:
|
||||
|
||||
cd heimdall-frontend
|
||||
qmake heimdall-frontend.pro
|
||||
make
|
||||
|
||||
NOTE: You can use "checkinstall" instead of "make" in order to generate
|
||||
a redistributable package.
|
||||
|
||||
4. The file output will be placed in the UNIX sub-directory. Move this file
|
||||
to your preferred location.
|
||||
|
||||
5. Done
|
||||
|
||||
|
||||
|
||||
Flashing Firmware with Heimdall Frontend:
|
||||
|
||||
1. Fully charge your device (use the wall charger as it's faster).
|
||||
|
||||
2. Download a decrypted Samsung Galaxy S ROM and extract it to a directory.
|
||||
|
||||
3. If the ROM is provided as one of more archives (nested or otherwise),
|
||||
extract them all to the same location.
|
||||
|
||||
NOTE: If you want to use the CSC then extract it last.
|
||||
|
||||
3. Open Heimdall Frontend.
|
||||
|
||||
4. Put your Galaxy S device into download mode.
|
||||
|
||||
5. For each file you wish to flash use "Browse" to select the file.
|
||||
|
||||
6. Press "Start".
|
||||
|
||||
7. Heimdall Frontend will display the progress and inform you when the
|
||||
flash is complete.
|
||||
|
||||
|
||||
|
||||
Flashing Firmware from Command Line / Terminal:
|
||||
|
||||
1. Fully charge your device (use the wall charger as it's faster).
|
||||
|
||||
2. Download a decrypted Samsung Galaxy S ROM and extract it to a directory.
|
||||
|
||||
3. If the ROM is provided as one of more archives (nested or otherwise),
|
||||
extract them all to the same location.
|
||||
|
||||
NOTE: If you want to use the CSC then extract it last.
|
||||
|
||||
4. Open a terminal and navigate to the directory where you extracted the
|
||||
ROM files.
|
||||
|
||||
5. Type the following to list all the functionality Heimdall supports:
|
||||
|
||||
heimdall help
|
||||
|
||||
8. Use the instructions to manually enter a command with all the files you
|
||||
want to flash.
|
||||
|
||||
Here is an example that does a full flash and repartition:
|
||||
|
||||
heimdall flash --repartition --pit s1_odin_20100512.pit --factoryfs factoryfs.rfs --cache cache.rfs --dbdata dbdata.rfs --primary-boot boot.bin --secondary-boot Sbl.bin --param param.lfs --kernel zImage --modem modem.bin
|
||||
|
||||
9. Done
|
||||
@@ -0,0 +1,12 @@
|
||||
# ----------------------------------------------------
|
||||
# This file is generated by the Qt Visual Studio Add-in.
|
||||
# ------------------------------------------------------
|
||||
|
||||
HEADERS += ./Source/aboutform.h \
|
||||
./Source/mainwindow.h
|
||||
SOURCES += ./Source/aboutform.cpp \
|
||||
./Source/main.cpp \
|
||||
./Source/mainwindow.cpp
|
||||
FORMS += ./mainwindow.ui \
|
||||
./aboutform.ui
|
||||
RESOURCES += mainwindow.qrc
|
||||
@@ -0,0 +1,45 @@
|
||||
# ----------------------------------------------------
|
||||
# This file is generated by the Qt Visual Studio Add-in.
|
||||
# ------------------------------------------------------
|
||||
|
||||
TEMPLATE = app
|
||||
TARGET = heimdall-frontend
|
||||
|
||||
macx {
|
||||
DESTDIR = ../OSX
|
||||
} else win32 { # It's recommended that Windows users compile via VS2010, but just in case...
|
||||
DESTDIR = ../Win32
|
||||
} else {
|
||||
DESTDIR = ../Linux
|
||||
}
|
||||
|
||||
macx {
|
||||
PROPOSEDINSTALLDIR = /Applications
|
||||
} else {
|
||||
PROPOSEDINSTALLDIR = /usr/local/bin
|
||||
}
|
||||
|
||||
message("Install location:" $$PROPOSEDINSTALLDIR)
|
||||
DESIREDINSTALLDIR = $$prompt("Press ENTER to use the default location or type an alternative")
|
||||
|
||||
equals(DESIREDINSTALLDIR, "") {
|
||||
target.path = $$PROPOSEDINSTALLDIR
|
||||
} else {
|
||||
target.path = $$DESIREDINSTALLDIR
|
||||
}
|
||||
|
||||
|
||||
INSTALLS += target
|
||||
|
||||
QT += core gui
|
||||
CONFIG += release
|
||||
DEFINES += QT_LARGEFILE_SUPPORT
|
||||
INCLUDEPATH += ./GeneratedFiles \
|
||||
./GeneratedFiles/Release \
|
||||
.
|
||||
DEPENDPATH += .
|
||||
MOC_DIR += ./GeneratedFiles/release
|
||||
OBJECTS_DIR += release
|
||||
UI_DIR += ./GeneratedFiles
|
||||
RCC_DIR += ./GeneratedFiles
|
||||
include(heimdall-frontend.pri)
|
||||
@@ -0,0 +1,174 @@
|
||||
<?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|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{EAD352DF-7CDE-478C-8D70-B0E42A951DEF}</ProjectGuid>
|
||||
<Keyword>Qt4VSv1.0</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="Qt4VSPropertySheet.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="Qt4VSPropertySheet.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
|
||||
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IncludePath)</IncludePath>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IncludePath)</IncludePath>
|
||||
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(LibraryPath)</LibraryPath>
|
||||
<LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;QT_LARGEFILE_SUPPORT;QT_CORE_LIB;QT_GUI_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\GeneratedFiles;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\qtmain;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>qtmaind.lib;QtCored4.lib;QtGuid4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;QT_LARGEFILE_SUPPORT;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>.\GeneratedFiles;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\qtmain;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;.\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
<PrecompiledHeaderFile>
|
||||
</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<AdditionalDependencies>qtmain.lib;QtCore4.lib;QtGui4.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="GeneratedFiles\Debug\moc_mainwindow.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\qrc_mainwindow.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Release\moc_mainwindow.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Source\aboutform.cpp" />
|
||||
<ClCompile Include="Source\main.cpp" />
|
||||
<ClCompile Include="Source\mainwindow.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="mainwindow.ui">
|
||||
<FileType>Document</FileType>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Uic%27ing %(Identity)...</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Uic%27ing %(Identity)...</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="GeneratedFiles\ui_aboutform.h" />
|
||||
<ClInclude Include="GeneratedFiles\ui_mainwindow.h" />
|
||||
<ClInclude Include="Source\aboutform.h" />
|
||||
<CustomBuild Include="Source\mainwindow.h">
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing %(Identity)...</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_CORE_LIB -DQT_GUI_LIB -D_UNICODE "-I." "-I.\GeneratedFiles" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\qtmain" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I." "-I." "-I." "-I." "-I." "-I." "Source\mainwindow.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"</Command>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing %(Identity)...</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB "-I." "-I.\GeneratedFiles" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\qtmain" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I." "-I." "-I." "-I." "-I." "Source\mainwindow.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp"</Command>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="mainwindow.qrc">
|
||||
<FileType>Document</FileType>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(FullPath);%(AdditionalInputs)</AdditionalInputs>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Rcc%27ing %(Identity)...</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp</Command>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(FullPath);%(AdditionalInputs)</AdditionalInputs>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Rcc%27ing %(Identity)...</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp</Command>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="aboutform.ui">
|
||||
<FileType>Document</FileType>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Uic%27ing %(Identity)...</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Uic%27ing %(Identity)...</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<UserProperties UicDir=".\GeneratedFiles" MocDir=".\GeneratedFiles\$(ConfigurationName)" MocOptions="" RccDir=".\GeneratedFiles" lupdateOnBuild="0" QtVersion_x0020_Win32="qt" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
||||
@@ -0,0 +1,78 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Form Files">
|
||||
<UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
|
||||
<Extensions>ui</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
|
||||
<Extensions>qrc;*</Extensions>
|
||||
<ParseFiles>false</ParseFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files">
|
||||
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
|
||||
<Extensions>moc;h;cpp</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files\Debug">
|
||||
<UniqueIdentifier>{ead127e5-64ec-4f27-8f35-5fb8f8b0b46e}</UniqueIdentifier>
|
||||
<Extensions>cpp;moc</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files\Release">
|
||||
<UniqueIdentifier>{2a437972-0e31-44d0-be90-ea5d62a68ff5}</UniqueIdentifier>
|
||||
<Extensions>cpp;moc</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
<Filter Include="Source">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;cxx;c;def</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="GeneratedFiles\qrc_mainwindow.cpp">
|
||||
<Filter>Generated Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Source\main.cpp">
|
||||
<Filter>Source</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Source\mainwindow.cpp">
|
||||
<Filter>Source</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Debug\moc_mainwindow.cpp">
|
||||
<Filter>Generated Files\Debug</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Release\moc_mainwindow.cpp">
|
||||
<Filter>Generated Files\Release</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Source\aboutform.cpp">
|
||||
<Filter>Source</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="mainwindow.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</CustomBuild>
|
||||
<CustomBuild Include="mainwindow.qrc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</CustomBuild>
|
||||
<CustomBuild Include="Source\mainwindow.h">
|
||||
<Filter>Source</Filter>
|
||||
</CustomBuild>
|
||||
<CustomBuild Include="AboutForm.ui">
|
||||
<Filter>Form Files</Filter>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="GeneratedFiles\ui_mainwindow.h">
|
||||
<Filter>Generated Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GeneratedFiles\ui_AboutForm.h">
|
||||
<Filter>Generated Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Source\aboutform.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,4 @@
|
||||
<RCC>
|
||||
<qresource prefix="MainWindow">
|
||||
</qresource>
|
||||
</RCC>
|
||||
@@ -0,0 +1,872 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>MainWindow</class>
|
||||
<widget class="QMainWindow" name="MainWindow">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>902</width>
|
||||
<height>523</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>902</width>
|
||||
<height>523</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>902</width>
|
||||
<height>523</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string notr="true">Heimdall Frontend 1.1</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="statusTip">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="accessibleName">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="accessibleDescription">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="windowFilePath">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="tabShape">
|
||||
<enum>QTabWidget::Rounded</enum>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralWidget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>MS Shell Dlg 2</family>
|
||||
</font>
|
||||
</property>
|
||||
<widget class="QTabWidget" name="functionTabWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>0</y>
|
||||
<width>881</width>
|
||||
<height>491</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="flashTab">
|
||||
<attribute name="title">
|
||||
<string>Flash</string>
|
||||
</attribute>
|
||||
<widget class="QGroupBox" name="pdaGroupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>120</y>
|
||||
<width>421</width>
|
||||
<height>331</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>PDA/Code</string>
|
||||
</property>
|
||||
<widget class="QGroupBox" name="factoryfsGroupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>20</y>
|
||||
<width>401</width>
|
||||
<height>61</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>FactoryFS</string>
|
||||
</property>
|
||||
<widget class="QLineEdit" name="factoryfsLineEdit">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>30</y>
|
||||
<width>281</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="factoryfsBrowseButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>30</y>
|
||||
<width>71</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Browse</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="factoryfsCheckBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>30</y>
|
||||
<width>21</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="kernelGroupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>80</y>
|
||||
<width>401</width>
|
||||
<height>61</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Kernel (zImage)</string>
|
||||
</property>
|
||||
<widget class="QLineEdit" name="kernelLineEdit">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>30</y>
|
||||
<width>281</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="kernelBrowseButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>30</y>
|
||||
<width>71</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Browse</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="kernelCheckBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>30</y>
|
||||
<width>21</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="primaryBootGroupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>200</y>
|
||||
<width>401</width>
|
||||
<height>61</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Primary Bootloader</string>
|
||||
</property>
|
||||
<widget class="QLineEdit" name="primaryBootLineEdit">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>30</y>
|
||||
<width>281</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="primaryBootBrowseButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>30</y>
|
||||
<width>71</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Browse</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="primaryBootCheckBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>30</y>
|
||||
<width>21</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="secondaryBootGroupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>260</y>
|
||||
<width>401</width>
|
||||
<height>61</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Secondary Bootloader</string>
|
||||
</property>
|
||||
<widget class="QLineEdit" name="secondaryBootLineEdit">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>30</y>
|
||||
<width>281</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="secondaryBootBrowseButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>30</y>
|
||||
<width>71</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Browse</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="secondaryBootCheckBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>30</y>
|
||||
<width>21</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="paramGroupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>140</y>
|
||||
<width>401</width>
|
||||
<height>61</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Param.lfs</string>
|
||||
</property>
|
||||
<widget class="QLineEdit" name="paramLineEdit">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>30</y>
|
||||
<width>281</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="paramBrowseButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>30</y>
|
||||
<width>71</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Browse</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="paramCheckBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>30</y>
|
||||
<width>21</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="cscGroupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>440</x>
|
||||
<y>10</y>
|
||||
<width>421</width>
|
||||
<height>151</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>CSC</string>
|
||||
</property>
|
||||
<widget class="QGroupBox" name="cacheGroupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>20</y>
|
||||
<width>401</width>
|
||||
<height>61</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Cache</string>
|
||||
</property>
|
||||
<widget class="QLineEdit" name="cacheLineEdit">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>30</y>
|
||||
<width>281</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="cacheBrowseButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>30</y>
|
||||
<width>71</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Browse</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="cacheCheckBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>30</y>
|
||||
<width>21</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="databaseGroupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>80</y>
|
||||
<width>401</width>
|
||||
<height>61</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Database Data</string>
|
||||
</property>
|
||||
<widget class="QLineEdit" name="databaseLineEdit">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>30</y>
|
||||
<width>281</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="databaseBrowseButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>30</y>
|
||||
<width>71</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Browse</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="databaseCheckBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>30</y>
|
||||
<width>21</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="repartitionGroupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>421</width>
|
||||
<height>111</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Repartition</string>
|
||||
</property>
|
||||
<widget class="QGroupBox" name="pitGroupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>20</y>
|
||||
<width>401</width>
|
||||
<height>81</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>PIT</string>
|
||||
</property>
|
||||
<widget class="QLineEdit" name="pitLineEdit">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>50</y>
|
||||
<width>301</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="pitBrowseButton">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>50</y>
|
||||
<width>71</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Browse</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="repartitionCheckBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>20</y>
|
||||
<width>381</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Repartition Device</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="startFlashButton">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>780</x>
|
||||
<y>410</y>
|
||||
<width>91</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Start</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QProgressBar" name="flashProgressBar">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>460</x>
|
||||
<y>410</y>
|
||||
<width>311</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="otherGroupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>440</x>
|
||||
<y>160</y>
|
||||
<width>421</width>
|
||||
<height>151</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>MS Shell Dlg 2</family>
|
||||
</font>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Other</string>
|
||||
</property>
|
||||
<widget class="QGroupBox" name="recoveryGroupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>80</y>
|
||||
<width>401</width>
|
||||
<height>61</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Recovery</string>
|
||||
</property>
|
||||
<widget class="QLineEdit" name="recoveryLineEdit">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>30</y>
|
||||
<width>281</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="recoveryBrowseButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>30</y>
|
||||
<width>71</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Browse</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="recoveryCheckBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>30</y>
|
||||
<width>21</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="modemGroupBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>20</y>
|
||||
<width>401</width>
|
||||
<height>61</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Modem</string>
|
||||
</property>
|
||||
<widget class="QLineEdit" name="modemLineEdit">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>30</y>
|
||||
<width>281</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" name="modemBrowseButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>320</x>
|
||||
<y>30</y>
|
||||
<width>71</width>
|
||||
<height>23</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Browse</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QCheckBox" name="modemCheckBox">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>30</y>
|
||||
<width>21</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QLabel" name="flashLabel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>460</x>
|
||||
<y>380</y>
|
||||
<width>411</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">Ready</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="firmwareTab">
|
||||
<attribute name="title">
|
||||
<string>Download Firmware</string>
|
||||
</attribute>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>851</width>
|
||||
<height>441</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>831</width>
|
||||
<height>391</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>This functionality is still under development and will be included in a future release.</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QMenuBar" name="menuBar">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>902</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuHelp">
|
||||
<property name="title">
|
||||
<string>Help</string>
|
||||
</property>
|
||||
<addaction name="actionAboutHeimdall"/>
|
||||
</widget>
|
||||
<widget class="QMenu" name="menuDonate">
|
||||
<property name="title">
|
||||
<string>Donate</string>
|
||||
</property>
|
||||
<addaction name="actionDonate"/>
|
||||
</widget>
|
||||
<addaction name="menuDonate"/>
|
||||
<addaction name="menuHelp"/>
|
||||
</widget>
|
||||
<action name="actionHelp">
|
||||
<property name="text">
|
||||
<string>Help</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionAboutHeimdall">
|
||||
<property name="text">
|
||||
<string>About Heimdall</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionDonate">
|
||||
<property name="text">
|
||||
<string>Donate to Glass Echidna</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
externo
BIN
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
@@ -0,0 +1,19 @@
|
||||
Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.
|
||||
@@ -0,0 +1,19 @@
|
||||
AUTOMAKE_OPTIONS = subdir-objects
|
||||
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS}
|
||||
AM_CPPFLAGS = $(DEPS_CFLAGS)
|
||||
|
||||
bin_PROGRAMS = heimdall
|
||||
heimdall_SOURCES = source/BeginDumpPacket.h source/BridgeManager.cpp \
|
||||
source/BridgeManager.h source/ControlPacket.h source/DeviceInfoPacket.h \
|
||||
source/DeviceInfoResponse.h source/DumpPartFileTransferPacket.h \
|
||||
source/DumpPartPitFilePacket.h source/DumpResponse.h source/EndFileTransferPacket.h \
|
||||
source/EndModemFileTransferPacket.h source/EndPhoneFileTransferPacket.h \
|
||||
source/FileTransferPacket.h source/FlashPartFileTransferPacket.h \
|
||||
source/FlashPartPitFilePacket.h source/Heimdall.h \
|
||||
source/InboundPacket.h source/InterfaceManager.cpp source/InterfaceManager.h \
|
||||
source/main.cpp source/OutboundPacket.h source/Packet.h source/PitFilePacket.h \
|
||||
source/PitFileResponse.h source/RebootDevicePacket.h source/ReceiveFilePartPacket.h \
|
||||
source/ResponsePacket.h source/SendFilePartPacket.h source/SendFilePartResponse.h
|
||||
heimdall_LDADD = $(DEPS_LIBS)
|
||||
|
||||
dist_noinst_SCRIPTS = autogen.sh
|
||||
@@ -0,0 +1,725 @@
|
||||
# Makefile.in generated by automake 1.11 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
|
||||
# Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
bin_PROGRAMS = heimdall$(EXEEXT)
|
||||
subdir = .
|
||||
DIST_COMMON = $(am__configure_deps) $(dist_noinst_SCRIPTS) \
|
||||
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/config.h.in $(top_srcdir)/configure config.guess \
|
||||
config.sub depcomp install-sh ltmain.sh missing
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno config.status.lineno
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(bindir)"
|
||||
PROGRAMS = $(bin_PROGRAMS)
|
||||
am__dirstamp = $(am__leading_dot)dirstamp
|
||||
am_heimdall_OBJECTS = source/BridgeManager.$(OBJEXT) \
|
||||
source/InterfaceManager.$(OBJEXT) source/main.$(OBJEXT)
|
||||
heimdall_OBJECTS = $(am_heimdall_OBJECTS)
|
||||
am__DEPENDENCIES_1 =
|
||||
heimdall_DEPENDENCIES = $(am__DEPENDENCIES_1)
|
||||
SCRIPTS = $(dist_noinst_SCRIPTS)
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
||||
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||
--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
||||
CXXLD = $(CXX)
|
||||
CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||
--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
|
||||
$(LDFLAGS) -o $@
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
|
||||
$(LDFLAGS) -o $@
|
||||
SOURCES = $(heimdall_SOURCES)
|
||||
DIST_SOURCES = $(heimdall_SOURCES)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
{ test ! -d "$(distdir)" \
|
||||
|| { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr "$(distdir)"; }; }
|
||||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DEPS_CFLAGS = @DEPS_CFLAGS@
|
||||
DEPS_LIBS = @DEPS_LIBS@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
lt_ECHO = @lt_ECHO@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
AUTOMAKE_OPTIONS = subdir-objects
|
||||
ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS}
|
||||
AM_CPPFLAGS = $(DEPS_CFLAGS)
|
||||
heimdall_SOURCES = source/BeginDumpPacket.h source/BridgeManager.cpp \
|
||||
source/BridgeManager.h source/ControlPacket.h source/DeviceInfoPacket.h \
|
||||
source/DeviceInfoResponse.h source/DumpPartFileTransferPacket.h \
|
||||
source/DumpPartPitFilePacket.h source/DumpResponse.h source/EndFileTransferPacket.h \
|
||||
source/EndModemFileTransferPacket.h source/EndPhoneFileTransferPacket.h \
|
||||
source/FileTransferPacket.h source/FlashPartFileTransferPacket.h \
|
||||
source/FlashPartPitFilePacket.h source/Heimdall.h \
|
||||
source/InboundPacket.h source/InterfaceManager.cpp source/InterfaceManager.h \
|
||||
source/main.cpp source/OutboundPacket.h source/Packet.h source/PitFilePacket.h \
|
||||
source/PitFileResponse.h source/RebootDevicePacket.h source/ReceiveFilePartPacket.h \
|
||||
source/ResponsePacket.h source/SendFilePartPacket.h source/SendFilePartResponse.h
|
||||
|
||||
heimdall_LDADD = $(DEPS_LIBS)
|
||||
dist_noinst_SCRIPTS = autogen.sh
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .cpp .lo .o .obj
|
||||
am--refresh:
|
||||
@:
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
|
||||
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
$(am__cd) $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
config.h: stamp-h1
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-h1; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
|
||||
else :; fi
|
||||
|
||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
|
||||
rm -f stamp-h1
|
||||
touch $@
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h stamp-h1
|
||||
install-binPROGRAMS: $(bin_PROGRAMS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
|
||||
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed 's/$(EXEEXT)$$//' | \
|
||||
while read p p1; do if test -f $$p || test -f $$p1; \
|
||||
then echo "$$p"; echo "$$p"; else :; fi; \
|
||||
done | \
|
||||
sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
|
||||
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
|
||||
sed 'N;N;N;s,\n, ,g' | \
|
||||
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
|
||||
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
|
||||
if ($$2 == $$4) files[d] = files[d] " " $$1; \
|
||||
else { print "f", $$3 "/" $$4, $$1; } } \
|
||||
END { for (d in files) print "f", d, files[d] }' | \
|
||||
while read type dir files; do \
|
||||
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
|
||||
test -z "$$files" || { \
|
||||
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
|
||||
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
|
||||
} \
|
||||
; done
|
||||
|
||||
uninstall-binPROGRAMS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
|
||||
files=`for p in $$list; do echo "$$p"; done | \
|
||||
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
|
||||
-e 's/$$/$(EXEEXT)/' `; \
|
||||
test -n "$$list" || exit 0; \
|
||||
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
|
||||
cd "$(DESTDIR)$(bindir)" && rm -f $$files
|
||||
|
||||
clean-binPROGRAMS:
|
||||
@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
|
||||
echo " rm -f" $$list; \
|
||||
rm -f $$list || exit $$?; \
|
||||
test -n "$(EXEEXT)" || exit 0; \
|
||||
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
|
||||
echo " rm -f" $$list; \
|
||||
rm -f $$list
|
||||
source/$(am__dirstamp):
|
||||
@$(MKDIR_P) source
|
||||
@: > source/$(am__dirstamp)
|
||||
source/$(DEPDIR)/$(am__dirstamp):
|
||||
@$(MKDIR_P) source/$(DEPDIR)
|
||||
@: > source/$(DEPDIR)/$(am__dirstamp)
|
||||
source/BridgeManager.$(OBJEXT): source/$(am__dirstamp) \
|
||||
source/$(DEPDIR)/$(am__dirstamp)
|
||||
source/InterfaceManager.$(OBJEXT): source/$(am__dirstamp) \
|
||||
source/$(DEPDIR)/$(am__dirstamp)
|
||||
source/main.$(OBJEXT): source/$(am__dirstamp) \
|
||||
source/$(DEPDIR)/$(am__dirstamp)
|
||||
heimdall$(EXEEXT): $(heimdall_OBJECTS) $(heimdall_DEPENDENCIES)
|
||||
@rm -f heimdall$(EXEEXT)
|
||||
$(CXXLINK) $(heimdall_OBJECTS) $(heimdall_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
-rm -f source/BridgeManager.$(OBJEXT)
|
||||
-rm -f source/InterfaceManager.$(OBJEXT)
|
||||
-rm -f source/main.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/BridgeManager.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/InterfaceManager.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@source/$(DEPDIR)/main.Po@am__quote@
|
||||
|
||||
.cpp.o:
|
||||
@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||
@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
|
||||
|
||||
.cpp.obj:
|
||||
@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
||||
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
||||
@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
.cpp.lo:
|
||||
@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
|
||||
@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||
@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool config.lt
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
-test -n "$(am__skip_mode_fix)" \
|
||||
|| find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r "$(distdir)"
|
||||
dist-gzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-bzip2: distdir
|
||||
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-lzma: distdir
|
||||
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-xz: distdir
|
||||
tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist dist-all: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
|
||||
*.tar.bz2*) \
|
||||
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||
*.tar.lzma*) \
|
||||
unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
|
||||
*.tar.xz*) \
|
||||
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
test -d $(distdir)/_build || exit 0; \
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& am__cwd=`pwd` \
|
||||
&& $(am__cd) $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
|
||||
&& cd "$$am__cwd" \
|
||||
|| exit 1
|
||||
$(am__remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
||||
distuninstallcheck:
|
||||
@$(am__cd) '$(distuninstallcheck_dir)' \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(PROGRAMS) $(SCRIPTS) config.h
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(bindir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
-rm -f source/$(DEPDIR)/$(am__dirstamp)
|
||||
-rm -f source/$(am__dirstamp)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf source/$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am: install-binPROGRAMS
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -rf source/$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-binPROGRAMS
|
||||
|
||||
.MAKE: all install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
|
||||
clean-binPROGRAMS clean-generic clean-libtool ctags dist \
|
||||
dist-all dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ \
|
||||
dist-xz dist-zip distcheck distclean distclean-compile \
|
||||
distclean-generic distclean-hdr distclean-libtool \
|
||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-binPROGRAMS install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||
pdf pdf-am ps ps-am tags uninstall uninstall-am \
|
||||
uninstall-binPROGRAMS
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
externo
+9093
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
Arquivo executável
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
autoreconf --force --install
|
||||
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
@@ -0,0 +1,280 @@
|
||||
# This file was generated.
|
||||
# It contains the lists of macros which have been traced.
|
||||
# It can be safely removed.
|
||||
|
||||
@request = (
|
||||
bless( [
|
||||
'0',
|
||||
1,
|
||||
[
|
||||
'/opt/local/share/autoconf'
|
||||
],
|
||||
[
|
||||
'/opt/local/share/autoconf/autoconf/autoconf.m4f',
|
||||
'/opt/local/share/aclocal/argz.m4',
|
||||
'/opt/local/share/aclocal/libtool.m4',
|
||||
'/opt/local/share/aclocal/ltdl.m4',
|
||||
'/opt/local/share/aclocal/ltoptions.m4',
|
||||
'/opt/local/share/aclocal/ltsugar.m4',
|
||||
'/opt/local/share/aclocal/ltversion.m4',
|
||||
'/opt/local/share/aclocal/lt~obsolete.m4',
|
||||
'/opt/local/share/aclocal/pkg.m4',
|
||||
'/opt/local/share/aclocal-1.11/amversion.m4',
|
||||
'/opt/local/share/aclocal-1.11/auxdir.m4',
|
||||
'/opt/local/share/aclocal-1.11/cond.m4',
|
||||
'/opt/local/share/aclocal-1.11/depend.m4',
|
||||
'/opt/local/share/aclocal-1.11/depout.m4',
|
||||
'/opt/local/share/aclocal-1.11/init.m4',
|
||||
'/opt/local/share/aclocal-1.11/install-sh.m4',
|
||||
'/opt/local/share/aclocal-1.11/lead-dot.m4',
|
||||
'/opt/local/share/aclocal-1.11/maintainer.m4',
|
||||
'/opt/local/share/aclocal-1.11/make.m4',
|
||||
'/opt/local/share/aclocal-1.11/missing.m4',
|
||||
'/opt/local/share/aclocal-1.11/mkdirp.m4',
|
||||
'/opt/local/share/aclocal-1.11/options.m4',
|
||||
'/opt/local/share/aclocal-1.11/runlog.m4',
|
||||
'/opt/local/share/aclocal-1.11/sanity.m4',
|
||||
'/opt/local/share/aclocal-1.11/silent.m4',
|
||||
'/opt/local/share/aclocal-1.11/strip.m4',
|
||||
'/opt/local/share/aclocal-1.11/substnot.m4',
|
||||
'/opt/local/share/aclocal-1.11/tar.m4',
|
||||
'configure.ac'
|
||||
],
|
||||
{
|
||||
'AM_ENABLE_STATIC' => 1,
|
||||
'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
|
||||
'_LT_AC_SHELL_INIT' => 1,
|
||||
'AC_DEFUN' => 1,
|
||||
'AC_PROG_LIBTOOL' => 1,
|
||||
'_LT_AC_LANG_CXX_CONFIG' => 1,
|
||||
'AM_PROG_MKDIR_P' => 1,
|
||||
'AM_AUTOMAKE_VERSION' => 1,
|
||||
'AM_SUBST_NOTMAKE' => 1,
|
||||
'AM_MISSING_PROG' => 1,
|
||||
'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
|
||||
'_LT_AC_LANG_C_CONFIG' => 1,
|
||||
'AM_PROG_INSTALL_STRIP' => 1,
|
||||
'_m4_warn' => 1,
|
||||
'AC_LIBTOOL_OBJDIR' => 1,
|
||||
'gl_FUNC_ARGZ' => 1,
|
||||
'LTOBSOLETE_VERSION' => 1,
|
||||
'AM_SANITY_CHECK' => 1,
|
||||
'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
|
||||
'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
|
||||
'LT_LIB_M' => 1,
|
||||
'_LT_AC_CHECK_DLFCN' => 1,
|
||||
'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
|
||||
'LTSUGAR_VERSION' => 1,
|
||||
'_LT_PROG_LTMAIN' => 1,
|
||||
'LT_SYS_SYMBOL_USCORE' => 1,
|
||||
'_AM_PROG_TAR' => 1,
|
||||
'AC_LIBTOOL_GCJ' => 1,
|
||||
'LT_SYS_DLOPEN_DEPLIBS' => 1,
|
||||
'LT_FUNC_DLSYM_USCORE' => 1,
|
||||
'_LT_AC_LANG_F77' => 1,
|
||||
'AC_LIBTOOL_CONFIG' => 1,
|
||||
'_AM_SUBST_NOTMAKE' => 1,
|
||||
'AC_LTDL_DLLIB' => 1,
|
||||
'_AM_AUTOCONF_VERSION' => 1,
|
||||
'AM_DISABLE_SHARED' => 1,
|
||||
'_LTDL_SETUP' => 1,
|
||||
'_LT_AC_LANG_CXX' => 1,
|
||||
'AM_PROG_LIBTOOL' => 1,
|
||||
'AC_LIB_LTDL' => 1,
|
||||
'_LT_AC_FILE_LTDLL_C' => 1,
|
||||
'AM_PROG_LD' => 1,
|
||||
'AU_DEFUN' => 1,
|
||||
'AC_PROG_NM' => 1,
|
||||
'AC_LIBTOOL_DLOPEN' => 1,
|
||||
'AC_PROG_LD' => 1,
|
||||
'AC_PROG_LD_GNU' => 1,
|
||||
'AC_ENABLE_FAST_INSTALL' => 1,
|
||||
'AC_LIBTOOL_FC' => 1,
|
||||
'LTDL_CONVENIENCE' => 1,
|
||||
'_AM_SET_OPTION' => 1,
|
||||
'AC_LTDL_PREOPEN' => 1,
|
||||
'_LT_LINKER_BOILERPLATE' => 1,
|
||||
'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
|
||||
'AC_LIBTOOL_PROG_CC_C_O' => 1,
|
||||
'gl_PREREQ_ARGZ' => 1,
|
||||
'LT_SUPPORTED_TAG' => 1,
|
||||
'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
|
||||
'LT_PROG_RC' => 1,
|
||||
'LT_SYS_MODULE_EXT' => 1,
|
||||
'AC_DEFUN_ONCE' => 1,
|
||||
'_LT_AC_LANG_GCJ' => 1,
|
||||
'AC_LTDL_OBJDIR' => 1,
|
||||
'_LT_PATH_TOOL_PREFIX' => 1,
|
||||
'AC_LIBTOOL_RC' => 1,
|
||||
'AM_SILENT_RULES' => 1,
|
||||
'AC_DISABLE_FAST_INSTALL' => 1,
|
||||
'_LT_AC_PROG_ECHO_BACKSLASH' => 1,
|
||||
'_LT_AC_SYS_LIBPATH_AIX' => 1,
|
||||
'_LT_AC_TRY_DLOPEN_SELF' => 1,
|
||||
'include' => 1,
|
||||
'LT_AC_PROG_SED' => 1,
|
||||
'AM_ENABLE_SHARED' => 1,
|
||||
'LTDL_INSTALLABLE' => 1,
|
||||
'_LT_AC_LANG_GCJ_CONFIG' => 1,
|
||||
'AC_ENABLE_SHARED' => 1,
|
||||
'AC_ENABLE_STATIC' => 1,
|
||||
'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
|
||||
'_LT_AC_TAGVAR' => 1,
|
||||
'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
|
||||
'AM_CONDITIONAL' => 1,
|
||||
'LT_LIB_DLLOAD' => 1,
|
||||
'LTDL_INIT' => 1,
|
||||
'LTVERSION_VERSION' => 1,
|
||||
'AM_PROG_INSTALL_SH' => 1,
|
||||
'm4_include' => 1,
|
||||
'AC_PROG_EGREP' => 1,
|
||||
'_AC_AM_CONFIG_HEADER_HOOK' => 1,
|
||||
'AC_PATH_MAGIC' => 1,
|
||||
'AC_LTDL_SYSSEARCHPATH' => 1,
|
||||
'AM_MAKE_INCLUDE' => 1,
|
||||
'LT_CMD_MAX_LEN' => 1,
|
||||
'_LT_AC_TAGCONFIG' => 1,
|
||||
'm4_pattern_forbid' => 1,
|
||||
'_LT_LINKER_OPTION' => 1,
|
||||
'AC_LIBTOOL_COMPILER_OPTION' => 1,
|
||||
'AC_DISABLE_SHARED' => 1,
|
||||
'_LT_COMPILER_BOILERPLATE' => 1,
|
||||
'AC_LIBTOOL_WIN32_DLL' => 1,
|
||||
'AC_LIBTOOL_SETUP' => 1,
|
||||
'AC_PROG_LD_RELOAD_FLAG' => 1,
|
||||
'AC_LTDL_DLSYM_USCORE' => 1,
|
||||
'AM_MISSING_HAS_RUN' => 1,
|
||||
'LT_LANG' => 1,
|
||||
'LT_SYS_DLSEARCH_PATH' => 1,
|
||||
'LT_CONFIG_LTDL_DIR' => 1,
|
||||
'AC_LIBTOOL_DLOPEN_SELF' => 1,
|
||||
'LT_OUTPUT' => 1,
|
||||
'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
|
||||
'_PKG_SHORT_ERRORS_SUPPORTED' => 1,
|
||||
'AC_WITH_LTDL' => 1,
|
||||
'AC_LIBTOOL_LINKER_OPTION' => 1,
|
||||
'PKG_CHECK_EXISTS' => 1,
|
||||
'LT_AC_PROG_RC' => 1,
|
||||
'AC_LIBTOOL_CXX' => 1,
|
||||
'LT_INIT' => 1,
|
||||
'LT_AC_PROG_GCJ' => 1,
|
||||
'LT_SYS_DLOPEN_SELF' => 1,
|
||||
'AM_DEP_TRACK' => 1,
|
||||
'AM_DISABLE_STATIC' => 1,
|
||||
'_AC_PROG_LIBTOOL' => 1,
|
||||
'_AM_IF_OPTION' => 1,
|
||||
'AC_PATH_TOOL_PREFIX' => 1,
|
||||
'm4_pattern_allow' => 1,
|
||||
'AC_LIBTOOL_F77' => 1,
|
||||
'AM_SET_LEADING_DOT' => 1,
|
||||
'LT_AC_PROG_EGREP' => 1,
|
||||
'_AM_DEPENDENCIES' => 1,
|
||||
'AC_LIBTOOL_LANG_C_CONFIG' => 1,
|
||||
'LTOPTIONS_VERSION' => 1,
|
||||
'_LT_AC_SYS_COMPILER' => 1,
|
||||
'AM_PROG_NM' => 1,
|
||||
'PKG_CHECK_MODULES' => 1,
|
||||
'AC_LIBLTDL_CONVENIENCE' => 1,
|
||||
'AC_DEPLIBS_CHECK_METHOD' => 1,
|
||||
'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
|
||||
'AC_LIBLTDL_INSTALLABLE' => 1,
|
||||
'jm_MAINTAINER_MODE' => 1,
|
||||
'AC_LTDL_ENABLE_INSTALL' => 1,
|
||||
'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
|
||||
'LT_PROG_GCJ' => 1,
|
||||
'AM_INIT_AUTOMAKE' => 1,
|
||||
'AC_DISABLE_STATIC' => 1,
|
||||
'LT_PATH_NM' => 1,
|
||||
'AM_MAINTAINER_MODE' => 1,
|
||||
'AC_LTDL_SHLIBEXT' => 1,
|
||||
'_LT_AC_LOCK' => 1,
|
||||
'_LT_AC_LANG_RC_CONFIG' => 1,
|
||||
'LT_SYS_MODULE_PATH' => 1,
|
||||
'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
|
||||
'LT_WITH_LTDL' => 1,
|
||||
'AC_LTDL_SHLIBPATH' => 1,
|
||||
'AM_AUX_DIR_EXPAND' => 1,
|
||||
'_LT_AC_LANG_F77_CONFIG' => 1,
|
||||
'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
|
||||
'_AM_SET_OPTIONS' => 1,
|
||||
'_LT_COMPILER_OPTION' => 1,
|
||||
'_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
|
||||
'AM_RUN_LOG' => 1,
|
||||
'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
|
||||
'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
|
||||
'AC_LIBTOOL_PICMODE' => 1,
|
||||
'LT_PATH_LD' => 1,
|
||||
'AC_CHECK_LIBM' => 1,
|
||||
'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
|
||||
'_AM_MANGLE_OPTION' => 1,
|
||||
'AC_LTDL_SYMBOL_USCORE' => 1,
|
||||
'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
|
||||
'AM_SET_DEPDIR' => 1,
|
||||
'_LT_CC_BASENAME' => 1,
|
||||
'PKG_PROG_PKG_CONFIG' => 1,
|
||||
'_LT_LIBOBJ' => 1
|
||||
}
|
||||
], 'Autom4te::Request' ),
|
||||
bless( [
|
||||
'1',
|
||||
1,
|
||||
[
|
||||
'/opt/local/share/autoconf'
|
||||
],
|
||||
[
|
||||
'/opt/local/share/autoconf/autoconf/autoconf.m4f',
|
||||
'aclocal.m4',
|
||||
'configure.ac'
|
||||
],
|
||||
{
|
||||
'_LT_AC_TAGCONFIG' => 1,
|
||||
'AM_PROG_F77_C_O' => 1,
|
||||
'm4_pattern_forbid' => 1,
|
||||
'AC_INIT' => 1,
|
||||
'_AM_COND_IF' => 1,
|
||||
'AC_CANONICAL_TARGET' => 1,
|
||||
'AC_SUBST' => 1,
|
||||
'AC_CONFIG_LIBOBJ_DIR' => 1,
|
||||
'AC_FC_SRCEXT' => 1,
|
||||
'AC_CANONICAL_HOST' => 1,
|
||||
'AC_PROG_LIBTOOL' => 1,
|
||||
'AM_INIT_AUTOMAKE' => 1,
|
||||
'AC_CONFIG_SUBDIRS' => 1,
|
||||
'AM_AUTOMAKE_VERSION' => 1,
|
||||
'LT_CONFIG_LTDL_DIR' => 1,
|
||||
'AC_REQUIRE_AUX_FILE' => 1,
|
||||
'AC_CONFIG_LINKS' => 1,
|
||||
'm4_sinclude' => 1,
|
||||
'LT_SUPPORTED_TAG' => 1,
|
||||
'AM_MAINTAINER_MODE' => 1,
|
||||
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
|
||||
'_m4_warn' => 1,
|
||||
'AM_PROG_CXX_C_O' => 1,
|
||||
'_AM_COND_ENDIF' => 1,
|
||||
'AM_ENABLE_MULTILIB' => 1,
|
||||
'AM_SILENT_RULES' => 1,
|
||||
'AC_CONFIG_FILES' => 1,
|
||||
'LT_INIT' => 1,
|
||||
'include' => 1,
|
||||
'AM_GNU_GETTEXT' => 1,
|
||||
'AC_LIBSOURCE' => 1,
|
||||
'AM_PROG_FC_C_O' => 1,
|
||||
'AC_CANONICAL_BUILD' => 1,
|
||||
'AC_FC_FREEFORM' => 1,
|
||||
'AH_OUTPUT' => 1,
|
||||
'_AM_SUBST_NOTMAKE' => 1,
|
||||
'AC_CONFIG_AUX_DIR' => 1,
|
||||
'sinclude' => 1,
|
||||
'm4_pattern_allow' => 1,
|
||||
'AM_PROG_CC_C_O' => 1,
|
||||
'AC_CANONICAL_SYSTEM' => 1,
|
||||
'AM_CONDITIONAL' => 1,
|
||||
'AC_CONFIG_HEADERS' => 1,
|
||||
'AC_DEFINE_TRACE_LITERAL' => 1,
|
||||
'm4_include' => 1,
|
||||
'_AM_COND_ELSE' => 1,
|
||||
'AC_SUBST_TRACE' => 1
|
||||
}
|
||||
], 'Autom4te::Request' )
|
||||
);
|
||||
|
||||
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
@@ -0,0 +1,598 @@
|
||||
m4trace:configure.ac:1: -1- AC_INIT([Heimdall], [0.1], [bug-report@glassechidna.com.au], [heimdall], [http://www.glassechidna.com.au/])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?A[CHUM]_])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_forbid([_AC_])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^AS_FLAGS$])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?m4_])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_forbid([^dnl$])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_forbid([^_?AS_])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([SHELL])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([SHELL])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^SHELL$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([PATH_SEPARATOR])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^PATH_SEPARATOR$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_NAME])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_STRING])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([PACKAGE_URL])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([exec_prefix], [NONE])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([exec_prefix])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^exec_prefix$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([prefix], [NONE])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([prefix])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^prefix$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([program_transform_name], [s,x,x,])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([program_transform_name])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^program_transform_name$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([bindir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^bindir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([sbindir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^sbindir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([libexecdir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^libexecdir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([datarootdir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^datarootdir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([datadir], ['${datarootdir}'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([datadir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^datadir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([sysconfdir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^sysconfdir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([sharedstatedir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^sharedstatedir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([localstatedir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^localstatedir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([includedir], ['${prefix}/include'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([includedir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^includedir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([oldincludedir], ['/usr/include'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([oldincludedir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^oldincludedir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
|
||||
['${datarootdir}/doc/${PACKAGE_TARNAME}'],
|
||||
['${datarootdir}/doc/${PACKAGE}'])])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([docdir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^docdir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([infodir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^infodir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([htmldir], ['${docdir}'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([htmldir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^htmldir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([dvidir], ['${docdir}'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([dvidir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^dvidir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([pdfdir], ['${docdir}'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([pdfdir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^pdfdir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([psdir], ['${docdir}'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([psdir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^psdir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([libdir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^libdir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([localedir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^localedir$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([mandir])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^mandir$])
|
||||
m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_NAME$])
|
||||
m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
|
||||
@%:@undef PACKAGE_NAME])
|
||||
m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
|
||||
m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
|
||||
@%:@undef PACKAGE_TARNAME])
|
||||
m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_VERSION$])
|
||||
m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
|
||||
@%:@undef PACKAGE_VERSION])
|
||||
m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_STRING$])
|
||||
m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
|
||||
@%:@undef PACKAGE_STRING])
|
||||
m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
|
||||
m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
|
||||
@%:@undef PACKAGE_BUGREPORT])
|
||||
m4trace:configure.ac:1: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^PACKAGE_URL$])
|
||||
m4trace:configure.ac:1: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
|
||||
@%:@undef PACKAGE_URL])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([DEFS])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([DEFS])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^DEFS$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([ECHO_C])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([ECHO_C])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_C$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([ECHO_N])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([ECHO_N])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_N$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([ECHO_T])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([ECHO_T])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^ECHO_T$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([LIBS])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([LIBS])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^LIBS$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([build_alias])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([build_alias])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^build_alias$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([host_alias])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([host_alias])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^host_alias$])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST([target_alias])
|
||||
m4trace:configure.ac:1: -1- AC_SUBST_TRACE([target_alias])
|
||||
m4trace:configure.ac:1: -1- m4_pattern_allow([^target_alias$])
|
||||
m4trace:configure.ac:3: -1- m4_pattern_forbid([^_?PKG_[A-Z_]+$])
|
||||
m4trace:configure.ac:3: -1- m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
|
||||
m4trace:configure.ac:3: -1- AC_SUBST([PKG_CONFIG])
|
||||
m4trace:configure.ac:3: -1- AC_SUBST_TRACE([PKG_CONFIG])
|
||||
m4trace:configure.ac:3: -1- m4_pattern_allow([^PKG_CONFIG$])
|
||||
m4trace:configure.ac:3: -1- AC_SUBST([PKG_CONFIG])
|
||||
m4trace:configure.ac:3: -1- AC_SUBST_TRACE([PKG_CONFIG])
|
||||
m4trace:configure.ac:3: -1- m4_pattern_allow([^PKG_CONFIG$])
|
||||
m4trace:configure.ac:3: -1- AC_SUBST([DEPS_CFLAGS])
|
||||
m4trace:configure.ac:3: -1- AC_SUBST_TRACE([DEPS_CFLAGS])
|
||||
m4trace:configure.ac:3: -1- m4_pattern_allow([^DEPS_CFLAGS$])
|
||||
m4trace:configure.ac:3: -1- AC_SUBST([DEPS_LIBS])
|
||||
m4trace:configure.ac:3: -1- AC_SUBST_TRACE([DEPS_LIBS])
|
||||
m4trace:configure.ac:3: -1- m4_pattern_allow([^DEPS_LIBS$])
|
||||
m4trace:configure.ac:4: -1- AM_INIT_AUTOMAKE([1.10 -Wall no-define foreign])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
|
||||
m4trace:configure.ac:4: -1- AM_AUTOMAKE_VERSION([1.11])
|
||||
m4trace:configure.ac:4: -1- AC_REQUIRE_AUX_FILE([install-sh])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([INSTALL_PROGRAM])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([INSTALL_SCRIPT])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([INSTALL_DATA])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([INSTALL_DATA])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^INSTALL_DATA$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([am__isrc], [' -I$(srcdir)'])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([am__isrc])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^am__isrc$])
|
||||
m4trace:configure.ac:4: -1- _AM_SUBST_NOTMAKE([am__isrc])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([CYGPATH_W])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([CYGPATH_W])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^CYGPATH_W$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([PACKAGE])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^PACKAGE$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([VERSION])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^VERSION$])
|
||||
m4trace:configure.ac:4: -1- AC_REQUIRE_AUX_FILE([missing])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([ACLOCAL])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([ACLOCAL])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^ACLOCAL$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([AUTOCONF])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([AUTOCONF])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^AUTOCONF$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([AUTOMAKE])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([AUTOMAKE])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^AUTOMAKE$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([AUTOHEADER])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([AUTOHEADER])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^AUTOHEADER$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([MAKEINFO])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([MAKEINFO])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^MAKEINFO$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([install_sh])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([install_sh])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^install_sh$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([STRIP])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([STRIP])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^STRIP$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
|
||||
m4trace:configure.ac:4: -1- AC_REQUIRE_AUX_FILE([install-sh])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([MKDIR_P])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([MKDIR_P])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^MKDIR_P$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([mkdir_p], ["$MKDIR_P"])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([mkdir_p])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^mkdir_p$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([AWK])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([AWK])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^AWK$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([SET_MAKE])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([SET_MAKE])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^SET_MAKE$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([am__leading_dot])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([am__leading_dot])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^am__leading_dot$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([AMTAR])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([AMTAR])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^AMTAR$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([am__tar])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([am__tar])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^am__tar$])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST([am__untar])
|
||||
m4trace:configure.ac:4: -1- AC_SUBST_TRACE([am__untar])
|
||||
m4trace:configure.ac:4: -1- m4_pattern_allow([^am__untar$])
|
||||
m4trace:configure.ac:6: -1- AC_CONFIG_HEADERS([config.h])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CXX])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CXX])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CXX$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CXXFLAGS])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CXXFLAGS])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CXXFLAGS$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([LDFLAGS])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([LDFLAGS])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^LDFLAGS$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([LIBS])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([LIBS])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^LIBS$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CPPFLAGS])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CPPFLAGS])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CPPFLAGS$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CXX])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CXX])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CXX$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([ac_ct_CXX])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([ac_ct_CXX])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^ac_ct_CXX$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([EXEEXT])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^EXEEXT$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([OBJEXT])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^OBJEXT$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([DEPDIR])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^DEPDIR$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([am__include])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__include])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__include$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([am__quote])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__quote])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__quote$])
|
||||
m4trace:configure.ac:7: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([AMDEP_TRUE])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AMDEP_TRUE])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^AMDEP_TRUE$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([AMDEP_FALSE])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AMDEP_FALSE])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^AMDEP_FALSE$])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([AMDEPBACKSLASH])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([AMDEPBACKSLASH])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([CXXDEPMODE])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^CXXDEPMODE$])
|
||||
m4trace:configure.ac:7: -1- AM_CONDITIONAL([am__fastdepCXX], [
|
||||
test "x$enable_dependency_tracking" != xno \
|
||||
&& test "$am_cv_CXX_dependencies_compiler_type" = gcc3])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([am__fastdepCXX_TRUE])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST([am__fastdepCXX_FALSE])
|
||||
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE])
|
||||
m4trace:configure.ac:7: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE])
|
||||
m4trace:configure.ac:7: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE])
|
||||
m4trace:configure.ac:8: -1- AC_PROG_LIBTOOL
|
||||
m4trace:configure.ac:8: -1- _m4_warn([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete.
|
||||
You should run autoupdate.], [aclocal.m4:123: AC_PROG_LIBTOOL is expanded from...
|
||||
configure.ac:8: the top level])
|
||||
m4trace:configure.ac:8: -1- LT_INIT
|
||||
m4trace:configure.ac:8: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])
|
||||
m4trace:configure.ac:8: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([LIBTOOL])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([LIBTOOL])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^LIBTOOL$])
|
||||
m4trace:configure.ac:8: -1- AC_CANONICAL_HOST
|
||||
m4trace:configure.ac:8: -1- AC_CANONICAL_BUILD
|
||||
m4trace:configure.ac:8: -1- AC_REQUIRE_AUX_FILE([config.sub])
|
||||
m4trace:configure.ac:8: -1- AC_REQUIRE_AUX_FILE([config.guess])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([build], [$ac_cv_build])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([build])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^build$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([build_cpu], [$[1]])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([build_cpu])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^build_cpu$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([build_vendor], [$[2]])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([build_vendor])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^build_vendor$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([build_os])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([build_os])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^build_os$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([host], [$ac_cv_host])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([host])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^host$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([host_cpu], [$[1]])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([host_cpu])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^host_cpu$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([host_vendor], [$[2]])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([host_vendor])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^host_vendor$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([host_os])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([host_os])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^host_os$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CFLAGS])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CFLAGS])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CFLAGS$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([LDFLAGS])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([LDFLAGS])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^LDFLAGS$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([LIBS])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([LIBS])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^LIBS$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CPPFLAGS])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CPPFLAGS])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CPPFLAGS$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CC])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CC])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CC$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([ac_ct_CC])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([ac_ct_CC])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^ac_ct_CC$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CCDEPMODE])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CCDEPMODE$])
|
||||
m4trace:configure.ac:8: -1- AM_CONDITIONAL([am__fastdepCC], [
|
||||
test "x$enable_dependency_tracking" != xno \
|
||||
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([am__fastdepCC_TRUE])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([am__fastdepCC_FALSE])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
|
||||
m4trace:configure.ac:8: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
|
||||
m4trace:configure.ac:8: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([SED])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([SED])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^SED$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([GREP])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([GREP])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^GREP$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([EGREP])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([EGREP])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^EGREP$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([FGREP])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([FGREP])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^FGREP$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([GREP])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([GREP])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^GREP$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([LD])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([LD])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^LD$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([DUMPBIN])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([DUMPBIN])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^DUMPBIN$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([ac_ct_DUMPBIN])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^ac_ct_DUMPBIN$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([DUMPBIN])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([DUMPBIN])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^DUMPBIN$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([NM])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([NM])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^NM$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([LN_S], [$as_ln_s])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([LN_S])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^LN_S$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([OBJDUMP])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([OBJDUMP])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^OBJDUMP$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([OBJDUMP])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([OBJDUMP])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^OBJDUMP$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([AR])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([AR])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^AR$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([STRIP])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([STRIP])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^STRIP$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([RANLIB])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([RANLIB])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^RANLIB$])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([LT_OBJDIR])
|
||||
m4trace:configure.ac:8: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^LT_OBJDIR$])
|
||||
m4trace:configure.ac:8: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||
*/
|
||||
@%:@undef LT_OBJDIR])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([lt_ECHO])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([lt_ECHO])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^lt_ECHO$])
|
||||
m4trace:configure.ac:8: -1- LT_SUPPORTED_TAG([CC])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([DSYMUTIL])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([DSYMUTIL])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^DSYMUTIL$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([NMEDIT])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([NMEDIT])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^NMEDIT$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([LIPO])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([LIPO])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^LIPO$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([OTOOL])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([OTOOL])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^OTOOL$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([OTOOL64])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([OTOOL64])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^OTOOL64$])
|
||||
m4trace:configure.ac:8: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
@%:@undef HAVE_DLFCN_H])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CPP])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CPP])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CPP$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CPPFLAGS])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CPPFLAGS])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CPPFLAGS$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CPP])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CPP])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CPP$])
|
||||
m4trace:configure.ac:8: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^STDC_HEADERS$])
|
||||
m4trace:configure.ac:8: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
|
||||
@%:@undef STDC_HEADERS])
|
||||
m4trace:configure.ac:8: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
@%:@undef HAVE_SYS_TYPES_H])
|
||||
m4trace:configure.ac:8: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
@%:@undef HAVE_SYS_STAT_H])
|
||||
m4trace:configure.ac:8: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
@%:@undef HAVE_STDLIB_H])
|
||||
m4trace:configure.ac:8: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
|
||||
@%:@undef HAVE_STRING_H])
|
||||
m4trace:configure.ac:8: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
|
||||
@%:@undef HAVE_MEMORY_H])
|
||||
m4trace:configure.ac:8: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
|
||||
@%:@undef HAVE_STRINGS_H])
|
||||
m4trace:configure.ac:8: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
@%:@undef HAVE_INTTYPES_H])
|
||||
m4trace:configure.ac:8: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
|
||||
@%:@undef HAVE_STDINT_H])
|
||||
m4trace:configure.ac:8: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
|
||||
@%:@undef HAVE_UNISTD_H])
|
||||
m4trace:configure.ac:8: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLFCN_H])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^HAVE_DLFCN_H$])
|
||||
m4trace:configure.ac:8: -1- LT_SUPPORTED_TAG([CXX])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CXX])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CXX])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CXX$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CXXFLAGS])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CXXFLAGS])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CXXFLAGS$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([LDFLAGS])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([LDFLAGS])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^LDFLAGS$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([LIBS])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([LIBS])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^LIBS$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CPPFLAGS])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CPPFLAGS])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CPPFLAGS$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CXX])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CXX])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CXX$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([ac_ct_CXX])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([ac_ct_CXX])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^ac_ct_CXX$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CXXDEPMODE])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CXXDEPMODE$])
|
||||
m4trace:configure.ac:8: -1- AM_CONDITIONAL([am__fastdepCXX], [
|
||||
test "x$enable_dependency_tracking" != xno \
|
||||
&& test "$am_cv_CXX_dependencies_compiler_type" = gcc3])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([am__fastdepCXX_TRUE])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([am__fastdepCXX_FALSE])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$])
|
||||
m4trace:configure.ac:8: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE])
|
||||
m4trace:configure.ac:8: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CXXCPP])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CXXCPP])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CXXCPP$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CPPFLAGS])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CPPFLAGS])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CPPFLAGS$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([CXXCPP])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([CXXCPP])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^CXXCPP$])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST([LD])
|
||||
m4trace:configure.ac:8: -1- AC_SUBST_TRACE([LD])
|
||||
m4trace:configure.ac:8: -1- m4_pattern_allow([^LD$])
|
||||
m4trace:configure.ac:9: -1- AC_CONFIG_FILES([Makefile])
|
||||
m4trace:configure.ac:11: -1- AM_MAINTAINER_MODE
|
||||
m4trace:configure.ac:11: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([MAINTAINER_MODE_TRUE])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^MAINTAINER_MODE_TRUE$])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([MAINTAINER_MODE_FALSE])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^MAINTAINER_MODE_FALSE$])
|
||||
m4trace:configure.ac:11: -1- _AM_SUBST_NOTMAKE([MAINTAINER_MODE_TRUE])
|
||||
m4trace:configure.ac:11: -1- _AM_SUBST_NOTMAKE([MAINTAINER_MODE_FALSE])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST([MAINT])
|
||||
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([MAINT])
|
||||
m4trace:configure.ac:11: -1- m4_pattern_allow([^MAINT$])
|
||||
m4trace:configure.ac:16: -1- AC_DEFINE_TRACE_LITERAL([OS_LINUX])
|
||||
m4trace:configure.ac:16: -1- m4_pattern_allow([^OS_LINUX$])
|
||||
m4trace:configure.ac:16: -1- AH_OUTPUT([OS_LINUX], [/* Linux backend */
|
||||
@%:@undef OS_LINUX])
|
||||
m4trace:configure.ac:20: -1- AC_DEFINE_TRACE_LITERAL([OS_DARWIN])
|
||||
m4trace:configure.ac:20: -1- m4_pattern_allow([^OS_DARWIN$])
|
||||
m4trace:configure.ac:20: -1- AH_OUTPUT([OS_DARWIN], [/* Darwin backend */
|
||||
@%:@undef OS_DARWIN])
|
||||
m4trace:configure.ac:24: -1- AC_DEFINE_TRACE_LITERAL([OS_WINDOWS])
|
||||
m4trace:configure.ac:24: -1- m4_pattern_allow([^OS_WINDOWS$])
|
||||
m4trace:configure.ac:24: -1- AH_OUTPUT([OS_WINDOWS], [/* Windows backend */
|
||||
@%:@undef OS_WINDOWS])
|
||||
m4trace:configure.ac:28: -1- AC_DEFINE_TRACE_LITERAL([OS_WINDOWS])
|
||||
m4trace:configure.ac:28: -1- m4_pattern_allow([^OS_WINDOWS$])
|
||||
m4trace:configure.ac:28: -1- AH_OUTPUT([OS_WINDOWS], [/* Windows backend */
|
||||
@%:@undef OS_WINDOWS])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
|
||||
m4trace:configure.ac:35: -1- m4_pattern_allow([^LIB@&t@OBJS$])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([LTLIBOBJS])
|
||||
m4trace:configure.ac:35: -1- m4_pattern_allow([^LTLIBOBJS$])
|
||||
m4trace:configure.ac:35: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST([am__EXEEXT_TRUE])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE])
|
||||
m4trace:configure.ac:35: -1- m4_pattern_allow([^am__EXEEXT_TRUE$])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST([am__EXEEXT_FALSE])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE])
|
||||
m4trace:configure.ac:35: -1- m4_pattern_allow([^am__EXEEXT_FALSE$])
|
||||
m4trace:configure.ac:35: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE])
|
||||
m4trace:configure.ac:35: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([top_builddir])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([top_build_prefix])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([srcdir])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([abs_srcdir])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([top_srcdir])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([abs_top_srcdir])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([builddir])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([abs_builddir])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([abs_top_builddir])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([INSTALL])
|
||||
m4trace:configure.ac:35: -1- AC_SUBST_TRACE([MKDIR_P])
|
||||
m4trace:configure.ac:35: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
|
||||
externo
+1561
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
@@ -0,0 +1,65 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||
*/
|
||||
#undef LT_OBJDIR
|
||||
|
||||
/* Darwin backend */
|
||||
#undef OS_DARWIN
|
||||
|
||||
/* Linux backend */
|
||||
#undef OS_LINUX
|
||||
|
||||
/* Windows backend */
|
||||
#undef OS_WINDOWS
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#undef PACKAGE_URL
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
@@ -0,0 +1,65 @@
|
||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||
*/
|
||||
#undef LT_OBJDIR
|
||||
|
||||
/* Darwin backend */
|
||||
#undef OS_DARWIN
|
||||
|
||||
/* Linux backend */
|
||||
#undef OS_LINUX
|
||||
|
||||
/* Windows backend */
|
||||
#undef OS_WINDOWS
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#undef PACKAGE_URL
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
externo
+1686
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
+17015
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
@@ -0,0 +1,35 @@
|
||||
AC_INIT([Heimdall], [0.1], [bug-report@glassechidna.com.au], [heimdall], [http://www.glassechidna.com.au/])
|
||||
AC_PREREQ([2.59])
|
||||
PKG_CHECK_MODULES([DEPS], [libusb-1.0 >= 1.0.8])
|
||||
AM_INIT_AUTOMAKE([1.10 -Wall no-define foreign])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_PROG_CXX
|
||||
AC_PROG_LIBTOOL
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
AC_MSG_CHECKING([operating system])
|
||||
case $host in
|
||||
*-linux*)
|
||||
AC_DEFINE(OS_LINUX, [], [Linux backend])
|
||||
AC_MSG_RESULT([Linux])
|
||||
;;
|
||||
*-darwin*)
|
||||
AC_DEFINE(OS_DARWIN, [], [Darwin backend])
|
||||
AC_MSG_RESULT([Darwin/MacOS X])
|
||||
;;
|
||||
*-mingw*)
|
||||
AC_DEFINE(OS_WINDOWS, [], [Windows backend])
|
||||
AC_MSG_RESULT([Windows])
|
||||
;;
|
||||
*-cygwin*)
|
||||
AC_DEFINE(OS_WINDOWS, [], [Windows backend])
|
||||
AC_MSG_RESULT([Windows])
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([unsupported operating system])
|
||||
esac
|
||||
|
||||
AC_OUTPUT
|
||||
@@ -0,0 +1,630 @@
|
||||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2009-04-28.21; # UTC
|
||||
|
||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
|
||||
# Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Run PROGRAMS ARGS to compile a file, generating dependencies
|
||||
as side-effects.
|
||||
|
||||
Environment variables:
|
||||
depmode Dependency tracking mode.
|
||||
source Source file read by `PROGRAMS ARGS'.
|
||||
object Object file output by `PROGRAMS ARGS'.
|
||||
DEPDIR directory where to store dependencies.
|
||||
depfile Dependency file to output.
|
||||
tmpdepfile Temporary file to use when outputing dependencies.
|
||||
libtool Whether libtool is used (yes/no).
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "depcomp $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
||||
depfile=${depfile-`echo "$object" |
|
||||
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
|
||||
# Some modes work just like other modes, but use different flags. We
|
||||
# parameterize here, but still list the modes in the big case below,
|
||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||
# here, because this file can only contain one case statement.
|
||||
if test "$depmode" = hp; then
|
||||
# HP compiler uses -M and no extra arg.
|
||||
gccflag=-M
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
if test "$depmode" = dashXmstdout; then
|
||||
# This is just like dashmstdout with a different argument.
|
||||
dashmflag=-xM
|
||||
depmode=dashmstdout
|
||||
fi
|
||||
|
||||
cygpath_u="cygpath -u -f -"
|
||||
if test "$depmode" = msvcmsys; then
|
||||
# This is just like msvisualcpp but w/o cygpath translation.
|
||||
# Just convert the backslash-escaped backslashes to single forward
|
||||
# slashes to satisfy depend.m4
|
||||
cygpath_u="sed s,\\\\\\\\,/,g"
|
||||
depmode=msvisualcpp
|
||||
fi
|
||||
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
|
||||
## the command line argument order; so add the flags where they
|
||||
## appear in depend2.am. Note that the slowdown incurred here
|
||||
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
|
||||
*) set fnord "$@" "$arg" ;;
|
||||
esac
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
done
|
||||
"$@"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
mv "$tmpdepfile" "$depfile"
|
||||
;;
|
||||
|
||||
gcc)
|
||||
## There are various ways to get dependency output from gcc. Here's
|
||||
## why we pick this rather obscure method:
|
||||
## - Don't want to use -MD because we'd like the dependencies to end
|
||||
## up in a subdir. Having to rename by hand is ugly.
|
||||
## (We might end up doing this anyway to support other compilers.)
|
||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||
## -MM, not -M (despite what the docs say).
|
||||
## - Using -M directly means running the compiler twice (even worse
|
||||
## than renaming).
|
||||
if test -z "$gccflag"; then
|
||||
gccflag=-MD,
|
||||
fi
|
||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
|
||||
## The second -e expression handles DOS-style file names with drive letters.
|
||||
sed -e 's/^[^:]*: / /' \
|
||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||
## This next piece of magic avoids the `deleted header file' problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||
## this for us directly.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" |
|
||||
## Some versions of gcc put a space before the `:'. On the theory
|
||||
## that the space means something, we add a space to the output as
|
||||
## well.
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
sgi)
|
||||
if test "$libtool" = yes; then
|
||||
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||
else
|
||||
"$@" -MDupdate "$tmpdepfile"
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||
echo "$object : \\" > "$depfile"
|
||||
|
||||
# Clip off the initial element (the dependent). Don't try to be
|
||||
# clever and replace this with sed code, as IRIX sed won't handle
|
||||
# lines with more than a fixed number of characters (4096 in
|
||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||
# the IRIX cc adds comments like `#:fec' to the end of the
|
||||
# dependency line.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
||||
tr '
|
||||
' ' ' >> "$depfile"
|
||||
echo >> "$depfile"
|
||||
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> "$depfile"
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts `$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$base.u
|
||||
tmpdepfile3=$dir.libs/$base.u
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
tmpdepfile1=$dir$base.u
|
||||
tmpdepfile2=$dir$base.u
|
||||
tmpdepfile3=$dir$base.u
|
||||
"$@" -M
|
||||
fi
|
||||
stat=$?
|
||||
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
# Each line is of the form `foo.o: dependent.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
# That's a tab and a space in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
icc)
|
||||
# Intel's C compiler understands `-MD -MF file'. However on
|
||||
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
|
||||
# ICC 7.0 will fill foo.d with something like
|
||||
# foo.o: sub/foo.c
|
||||
# foo.o: sub/foo.h
|
||||
# which is wrong. We want:
|
||||
# sub/foo.o: sub/foo.c
|
||||
# sub/foo.o: sub/foo.h
|
||||
# sub/foo.c:
|
||||
# sub/foo.h:
|
||||
# ICC 7.1 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using \ :
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each line is of the form `foo.o: dependent.h',
|
||||
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
|
||||
sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp2)
|
||||
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
|
||||
# compilers, which have integrated preprocessors. The correct option
|
||||
# to use with these is +Maked; it writes dependencies to a file named
|
||||
# 'foo.d', which lands next to the object file, wherever that
|
||||
# happens to be.
|
||||
# Much of this is similar to the tru64 case; see comments there.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir.libs/$base.d
|
||||
"$@" -Wc,+Maked
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
"$@" +Maked
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||
# Add `dependent.h:' lines.
|
||||
sed -ne '2,${
|
||||
s/^ *//
|
||||
s/ \\*$//
|
||||
s/$/:/
|
||||
p
|
||||
}' "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in `foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
# With Tru64 cc, shared objects can also be used to make a
|
||||
# static library. This mechanism is used in libtool 1.4 series to
|
||||
# handle both shared and static libraries in a single compilation.
|
||||
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
|
||||
#
|
||||
# With libtool 1.5 this exception was removed, and libtool now
|
||||
# generates 2 separate objects for the 2 libraries. These two
|
||||
# compilations output dependencies in $dir.libs/$base.o.d and
|
||||
# in $dir$base.o.d. We have to check for both files, because
|
||||
# one of the two compilations can be disabled. We should prefer
|
||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||
# the former would cause a distcleancheck panic.
|
||||
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
|
||||
tmpdepfile2=$dir$base.o.d # libtool 1.5
|
||||
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
|
||||
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1=$dir$base.o.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
tmpdepfile3=$dir$base.d
|
||||
tmpdepfile4=$dir$base.d
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
# That's a tab and a space in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
#nosideeffect)
|
||||
# This comment above is used by automake to tell side-effect
|
||||
# dependency tracking mechanisms from slower ones.
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
# Require at least two characters before searching for `:'
|
||||
# in the target name. This is to cope with DOS-style filenames:
|
||||
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
|
||||
"$@" $dashmflag |
|
||||
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
dashXmstdout)
|
||||
# This case only exists to satisfy depend.m4. It is never actually
|
||||
# run, as this mode is specially recognized in the preamble.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no eat=no
|
||||
for arg
|
||||
do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
if test $eat = yes; then
|
||||
eat=no
|
||||
continue
|
||||
fi
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-arch)
|
||||
eat=yes ;;
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix=`echo "$object" | sed 's/^.*\././'`
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
sed '1,2d' "$tmpdepfile" | tr ' ' '
|
||||
' | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||
;;
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
"$@" -E |
|
||||
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||
sed '$ s: \\$::' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test "X$1" != 'X--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E 2>/dev/null |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
||||
echo " " >> "$depfile"
|
||||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvcmsys)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
none)
|
||||
exec "$@"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown depmode $depmode" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
@@ -0,0 +1 @@
|
||||
Heimdall command-line interface, a part of the Heimdall tool suite. Heimdall is a cross-platform open-source tool suite used to flash firmware (aka ROMs) onto Samsung Galaxy S devices.
|
||||
@@ -0,0 +1,19 @@
|
||||
Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.
|
||||
@@ -0,0 +1,115 @@
|
||||
Heimdall (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
http://www.glassechidna.com.au/products/heimdall/
|
||||
|
||||
DISCLAIMER:
|
||||
|
||||
This software attempts to flash your Galaxy S device. The very nature of
|
||||
flashing is dangerous. As with all flashing software, Heimdall has the
|
||||
potential to damage (brick) your phone if not used carefully. If you're
|
||||
concerned, don't use this software. Flashing ROMs onto your phone may also
|
||||
void your warranty. Benjamin Dobell and Glass Echidna are not responsible
|
||||
for the result of your actions.
|
||||
|
||||
|
||||
|
||||
These instructions are for Linux operating systems.
|
||||
|
||||
Installing Heimdall from Source:
|
||||
|
||||
1. First make sure you have installed build-tools and pkgconfig.
|
||||
|
||||
2. Open a terminal and navigate to the directory you extracted Heimdall to.
|
||||
|
||||
3. Then enter the following commands to compile and install libusb-1.0:
|
||||
|
||||
cd libusb-1.0
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
|
||||
If you have problems please consult http://www.libusb.org/
|
||||
|
||||
4. Enter the following commands to compile and install Heimdall:
|
||||
|
||||
cd heimdall
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
|
||||
5. Done
|
||||
|
||||
|
||||
|
||||
Installing Heimdall Frontend from Source (Optional):
|
||||
|
||||
1. First make sure you have installed Qt 4.6 or above,
|
||||
available from http://qt.nokia.com/.
|
||||
|
||||
2. Open a terminal and navigate to the directory you extracted Heimdall to.
|
||||
|
||||
3. Enter the following commands to compile and install Heimdall Frontend:
|
||||
|
||||
cd heimdall-frontend
|
||||
qmake heimdall-frontend.pro
|
||||
make
|
||||
sudo make install
|
||||
|
||||
4. The file output will be placed in the UNIX sub-directory whenever you
|
||||
extracted Heimdall's source. Move this file to your preferred location.
|
||||
|
||||
5. Done
|
||||
|
||||
|
||||
|
||||
Flashing Firmware with Heimdall Frontend:
|
||||
|
||||
1. Fully charge your device (use the wall charger as it's faster).
|
||||
|
||||
2. Download a decrypted Samsung Galaxy S ROM and extract it to a directory.
|
||||
|
||||
3. If the ROM is provided as one of more archives (nested or otherwise),
|
||||
extract them all to the same location.
|
||||
|
||||
NOTE: If you want to use the CSC then extract it last.
|
||||
|
||||
3. Open Heimdall Frontend.
|
||||
|
||||
4. Put your Galaxy S device into download mode.
|
||||
|
||||
5. For each file you wish to flash use "Browse" to select the file.
|
||||
|
||||
6. Press "Start".
|
||||
|
||||
7. Heimdall Frontend will display the progress and inform you when the
|
||||
flash is complete.
|
||||
|
||||
|
||||
|
||||
Flashing Firmware from Command Line / Terminal:
|
||||
|
||||
1. Fully charge your device (use the wall charger as it's faster).
|
||||
|
||||
2. Download a decrypted Samsung Galaxy S ROM and extract it to a directory.
|
||||
|
||||
3. If the ROM is provided as one of more archives (nested or otherwise),
|
||||
extract them all to the same location.
|
||||
|
||||
NOTE: If you want to use the CSC then extract it last.
|
||||
|
||||
4. Open a terminal and navigate to the directory where you extracted the
|
||||
ROM files.
|
||||
|
||||
5. Type the following to list all the functionality Heimdall supports:
|
||||
|
||||
heimdall help
|
||||
|
||||
8. Use the instructions to manually enter a command with all the files you
|
||||
want to flash.
|
||||
|
||||
Here is an example that does a full flash and repartition:
|
||||
|
||||
heimdall flash --repartition --pit s1_odin_20100512.pit --factoryfs factoryfs.rfs --cache cache.rfs --dbdata dbdata.rfs --primary-boot boot.bin --secondary-boot Sbl.bin --param param.lfs --kernel zImage --modem modem.bin
|
||||
|
||||
9. Done
|
||||
@@ -0,0 +1,132 @@
|
||||
<?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|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{DC0D782C-8DB7-44CA-A984-D3A97483E0D0}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>heimdall</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<IncludePath>$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(LibraryPath)</LibraryPath>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<IncludePath>$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(LibraryPath)</LibraryPath>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;OS_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeaderFile>
|
||||
</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AdditionalIncludeDirectories>..\libusb-1.0\libusb</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>libusb-1.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\lib\</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;OS_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<PrecompiledHeaderFile>
|
||||
</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<AdditionalIncludeDirectories>..\libusb-1.0\libusb</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>libusb-1.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\lib\</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="source\BeginDumpPacket.h" />
|
||||
<ClInclude Include="source\BridgeManager.h" />
|
||||
<ClInclude Include="source\ControlPacket.h" />
|
||||
<ClInclude Include="source\DeviceInfoPacket.h" />
|
||||
<ClInclude Include="source\DeviceInfoResponse.h" />
|
||||
<ClInclude Include="source\DumpPartFileTransferPacket.h" />
|
||||
<ClInclude Include="source\DumpPartPitFilePacket.h" />
|
||||
<ClInclude Include="source\DumpResponse.h" />
|
||||
<ClInclude Include="source\EndFileTransferPacket.h" />
|
||||
<ClInclude Include="source\EndModemFileTransferPacket.h" />
|
||||
<ClInclude Include="source\EndPhoneFileTransferPacket.h" />
|
||||
<ClInclude Include="source\FileTransferPacket.h" />
|
||||
<ClInclude Include="source\FlashPartFileTransferPacket.h" />
|
||||
<ClInclude Include="source\FlashPartPitFilePacket.h" />
|
||||
<ClInclude Include="source\Heimdall.h" />
|
||||
<ClInclude Include="source\InboundPacket.h" />
|
||||
<ClInclude Include="source\InterfaceManager.h" />
|
||||
<ClInclude Include="source\OutboundPacket.h" />
|
||||
<ClInclude Include="source\Packet.h" />
|
||||
<ClInclude Include="source\PitFilePacket.h" />
|
||||
<ClInclude Include="source\PitFileResponse.h" />
|
||||
<ClInclude Include="source\RebootDevicePacket.h" />
|
||||
<ClInclude Include="source\ReceiveFilePartPacket.h" />
|
||||
<ClInclude Include="source\ResponsePacket.h" />
|
||||
<ClInclude Include="source\SendFilePartPacket.h" />
|
||||
<ClInclude Include="source\SendFilePartResponse.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="source\BridgeManager.cpp" />
|
||||
<ClCompile Include="source\InterfaceManager.cpp" />
|
||||
<ClCompile Include="source\main.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,100 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="source\BeginDumpPacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\BridgeManager.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\ControlPacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\DeviceInfoPacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\DeviceInfoResponse.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\DumpPartFileTransferPacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\DumpPartPitFilePacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\DumpResponse.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\EndFileTransferPacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\EndModemFileTransferPacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\EndPhoneFileTransferPacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\FileTransferPacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\FlashPartFileTransferPacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\FlashPartPitFilePacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\Heimdall.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\InboundPacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\OutboundPacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\Packet.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\PitFilePacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\PitFileResponse.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\RebootDevicePacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\ReceiveFilePartPacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\ResponsePacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\SendFilePartPacket.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\SendFilePartResponse.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="source\InterfaceManager.h">
|
||||
<Filter>Source</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="source\BridgeManager.cpp">
|
||||
<Filter>Source</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="source\main.cpp">
|
||||
<Filter>Source</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="source\InterfaceManager.cpp">
|
||||
<Filter>Source</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,520 @@
|
||||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2009-04-28.21; # UTC
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# 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
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
|
||||
nl='
|
||||
'
|
||||
IFS=" "" $nl"
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit=${DOITPROG-}
|
||||
if test -z "$doit"; then
|
||||
doit_exec=exec
|
||||
else
|
||||
doit_exec=$doit
|
||||
fi
|
||||
|
||||
# Put in absolute file names if you don't have them in your path;
|
||||
# or use environment vars.
|
||||
|
||||
chgrpprog=${CHGRPPROG-chgrp}
|
||||
chmodprog=${CHMODPROG-chmod}
|
||||
chownprog=${CHOWNPROG-chown}
|
||||
cmpprog=${CMPPROG-cmp}
|
||||
cpprog=${CPPROG-cp}
|
||||
mkdirprog=${MKDIRPROG-mkdir}
|
||||
mvprog=${MVPROG-mv}
|
||||
rmprog=${RMPROG-rm}
|
||||
stripprog=${STRIPPROG-strip}
|
||||
|
||||
posix_glob='?'
|
||||
initialize_posix_glob='
|
||||
test "$posix_glob" != "?" || {
|
||||
if (set -f) 2>/dev/null; then
|
||||
posix_glob=
|
||||
else
|
||||
posix_glob=:
|
||||
fi
|
||||
}
|
||||
'
|
||||
|
||||
posix_mkdir=
|
||||
|
||||
# Desired mode of installed file.
|
||||
mode=0755
|
||||
|
||||
chgrpcmd=
|
||||
chmodcmd=$chmodprog
|
||||
chowncmd=
|
||||
mvcmd=$mvprog
|
||||
rmcmd="$rmprog -f"
|
||||
stripcmd=
|
||||
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dst_arg=
|
||||
|
||||
copy_on_change=false
|
||||
no_target_directory=
|
||||
|
||||
usage="\
|
||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
|
||||
In the 1st form, copy SRCFILE to DSTFILE.
|
||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
Options:
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
-c (ignored)
|
||||
-C install only if different (preserve the last data modification time)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||
RMPROG STRIPPROG
|
||||
"
|
||||
|
||||
while test $# -ne 0; do
|
||||
case $1 in
|
||||
-c) ;;
|
||||
|
||||
-C) copy_on_change=true;;
|
||||
|
||||
-d) dir_arg=true;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) mode=$2
|
||||
case $mode in
|
||||
*' '* | *' '* | *'
|
||||
'* | *'*'* | *'?'* | *'['*)
|
||||
echo "$0: invalid mode: $mode" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
shift;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift;;
|
||||
|
||||
-s) stripcmd=$stripprog;;
|
||||
|
||||
-t) dst_arg=$2
|
||||
shift;;
|
||||
|
||||
-T) no_target_directory=true;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
--) shift
|
||||
break;;
|
||||
|
||||
-*) echo "$0: invalid option: $1" >&2
|
||||
exit 1;;
|
||||
|
||||
*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||
# When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dst_arg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dst_arg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dst_arg=$arg
|
||||
done
|
||||
fi
|
||||
|
||||
if test $# -eq 0; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call `install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
trap '(exit $?); exit' 1 2 13 15
|
||||
|
||||
# Set umask so as not to create temps with too-generous modes.
|
||||
# However, 'strip' requires both read and write access to temps.
|
||||
case $mode in
|
||||
# Optimize common cases.
|
||||
*644) cp_umask=133;;
|
||||
*755) cp_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw='% 200'
|
||||
fi
|
||||
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||
*)
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw=,u+rw
|
||||
fi
|
||||
cp_umask=$mode$u_plus_rw;;
|
||||
esac
|
||||
fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names starting with `-'.
|
||||
case $src in
|
||||
-*) src=./$src;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
dstdir=$dst
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
if test ! -f "$src" && test ! -d "$src"; then
|
||||
echo "$0: $src does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$dst_arg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dst=$dst_arg
|
||||
# Protect names starting with `-'.
|
||||
case $dst in
|
||||
-*) dst=./$dst;;
|
||||
esac
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
if test -d "$dst"; then
|
||||
if test -n "$no_target_directory"; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dstdir=$dst
|
||||
dst=$dstdir/`basename "$src"`
|
||||
dstdir_status=0
|
||||
else
|
||||
# Prefer dirname, but fall back on a substitute if dirname fails.
|
||||
dstdir=`
|
||||
(dirname "$dst") 2>/dev/null ||
|
||||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$dst" : 'X\(//\)[^/]' \| \
|
||||
X"$dst" : 'X\(//\)$' \| \
|
||||
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
echo X"$dst" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'
|
||||
`
|
||||
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
fi
|
||||
fi
|
||||
|
||||
obsolete_mkdir_used=false
|
||||
|
||||
if test $dstdir_status != 0; then
|
||||
case $posix_mkdir in
|
||||
'')
|
||||
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||
umask=`umask`
|
||||
case $stripcmd.$umask in
|
||||
# Optimize common cases.
|
||||
*[2367][2367]) mkdir_umask=$umask;;
|
||||
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
mkdir_umask=`expr $umask + 22 \
|
||||
- $umask % 100 % 40 + $umask % 20 \
|
||||
- $umask % 10 % 4 + $umask % 2
|
||||
`;;
|
||||
*) mkdir_umask=$umask,go-w;;
|
||||
esac
|
||||
|
||||
# With -d, create the new directory with the user-specified mode.
|
||||
# Otherwise, rely on $mkdir_umask.
|
||||
if test -n "$dir_arg"; then
|
||||
mkdir_mode=-m$mode
|
||||
else
|
||||
mkdir_mode=
|
||||
fi
|
||||
|
||||
posix_mkdir=false
|
||||
case $umask in
|
||||
*[123567][0-7][0-7])
|
||||
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||
;;
|
||||
*)
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||
|
||||
if (umask $mkdir_umask &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writeable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/d" "$tmpdir"
|
||||
else
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||
fi
|
||||
trap '' 0;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
if
|
||||
$posix_mkdir && (
|
||||
umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||
)
|
||||
then :
|
||||
else
|
||||
|
||||
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||
# or it failed possibly due to a race condition. Create the
|
||||
# directory the slow way, step by step, checking for races as we go.
|
||||
|
||||
case $dstdir in
|
||||
/*) prefix='/';;
|
||||
-*) prefix='./';;
|
||||
*) prefix='';;
|
||||
esac
|
||||
|
||||
eval "$initialize_posix_glob"
|
||||
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
$posix_glob set -f
|
||||
set fnord $dstdir
|
||||
shift
|
||||
$posix_glob set +f
|
||||
IFS=$oIFS
|
||||
|
||||
prefixes=
|
||||
|
||||
for d
|
||||
do
|
||||
test -z "$d" && continue
|
||||
|
||||
prefix=$prefix$d
|
||||
if test -d "$prefix"; then
|
||||
prefixes=
|
||||
else
|
||||
if $posix_mkdir; then
|
||||
(umask=$mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||
# Don't fail if two instances are running concurrently.
|
||||
test -d "$prefix" || exit 1
|
||||
else
|
||||
case $prefix in
|
||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||
*) qprefix=$prefix;;
|
||||
esac
|
||||
prefixes="$prefixes '$qprefix'"
|
||||
fi
|
||||
fi
|
||||
prefix=$prefix/
|
||||
done
|
||||
|
||||
if test -n "$prefixes"; then
|
||||
# Don't fail if two instances are running concurrently.
|
||||
(umask $mkdir_umask &&
|
||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||
test -d "$dstdir" || exit 1
|
||||
obsolete_mkdir_used=true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
|
||||
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
|
||||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
|
||||
else
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
|
||||
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
|
||||
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
|
||||
|
||||
# If -C, don't bother to copy if it wouldn't change the file.
|
||||
if $copy_on_change &&
|
||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||
|
||||
eval "$initialize_posix_glob" &&
|
||||
$posix_glob set -f &&
|
||||
set X $old && old=:$2:$4:$5:$6 &&
|
||||
set X $new && new=:$2:$4:$5:$6 &&
|
||||
$posix_glob set +f &&
|
||||
|
||||
test "$old" = "$new" &&
|
||||
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||
then
|
||||
rm -f "$dsttmp"
|
||||
else
|
||||
# Rename the file to the real destination.
|
||||
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
||||
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
{
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
test ! -f "$dst" ||
|
||||
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||
} ||
|
||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dst"
|
||||
}
|
||||
fi || exit 1
|
||||
|
||||
trap '' 0
|
||||
fi
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
externo
+7357
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
externo
+368
@@ -0,0 +1,368 @@
|
||||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 6 ltoptions.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
|
||||
|
||||
|
||||
# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ------------------------------------------
|
||||
m4_define([_LT_MANGLE_OPTION],
|
||||
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ---------------------------------------
|
||||
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
|
||||
# matching handler defined, dispatch to it. Other OPTION-NAMEs are
|
||||
# saved as a flag.
|
||||
m4_define([_LT_SET_OPTION],
|
||||
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
|
||||
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
[m4_warning([Unknown $1 option `$2'])])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
|
||||
# ------------------------------------------------------------
|
||||
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
|
||||
m4_define([_LT_IF_OPTION],
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
|
||||
|
||||
|
||||
# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
|
||||
# -------------------------------------------------------
|
||||
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
|
||||
# are set.
|
||||
m4_define([_LT_UNLESS_OPTIONS],
|
||||
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
|
||||
[m4_define([$0_found])])])[]dnl
|
||||
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
|
||||
])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
|
||||
# ----------------------------------------
|
||||
# OPTION-LIST is a space-separated list of Libtool options associated
|
||||
# with MACRO-NAME. If any OPTION has a matching handler declared with
|
||||
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
|
||||
# the unknown option and exit.
|
||||
m4_defun([_LT_SET_OPTIONS],
|
||||
[# Set options
|
||||
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[_LT_SET_OPTION([$1], _LT_Option)])
|
||||
|
||||
m4_if([$1],[LT_INIT],[
|
||||
dnl
|
||||
dnl Simply set some default values (i.e off) if boolean options were not
|
||||
dnl specified:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
|
||||
])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
|
||||
])
|
||||
dnl
|
||||
dnl If no reference was made to various pairs of opposing options, then
|
||||
dnl we run the default mode handler for the pair. For example, if neither
|
||||
dnl `shared' nor `disable-shared' was passed, we enable building of shared
|
||||
dnl archives by default:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
|
||||
[_LT_ENABLE_FAST_INSTALL])
|
||||
])
|
||||
])# _LT_SET_OPTIONS
|
||||
|
||||
|
||||
## --------------------------------- ##
|
||||
## Macros to handle LT_INIT options. ##
|
||||
## --------------------------------- ##
|
||||
|
||||
# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
|
||||
# -----------------------------------------
|
||||
m4_define([_LT_MANGLE_DEFUN],
|
||||
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
|
||||
# -----------------------------------------------
|
||||
m4_define([LT_OPTION_DEFINE],
|
||||
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
|
||||
])# LT_OPTION_DEFINE
|
||||
|
||||
|
||||
# dlopen
|
||||
# ------
|
||||
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_DLOPEN],
|
||||
[_LT_SET_OPTION([LT_INIT], [dlopen])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `dlopen' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
|
||||
|
||||
|
||||
# win32-dll
|
||||
# ---------
|
||||
# Declare package support for building win32 dll's.
|
||||
LT_OPTION_DEFINE([LT_INIT], [win32-dll],
|
||||
[enable_win32_dll=yes
|
||||
|
||||
case $host in
|
||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
|
||||
AC_CHECK_TOOL(AS, as, false)
|
||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||
;;
|
||||
esac
|
||||
|
||||
test -z "$AS" && AS=as
|
||||
_LT_DECL([], [AS], [0], [Assembler program])dnl
|
||||
|
||||
test -z "$DLLTOOL" && DLLTOOL=dlltool
|
||||
_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
|
||||
|
||||
test -z "$OBJDUMP" && OBJDUMP=objdump
|
||||
_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
|
||||
])# win32-dll
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
_LT_SET_OPTION([LT_INIT], [win32-dll])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `win32-dll' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
|
||||
|
||||
|
||||
# _LT_ENABLE_SHARED([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-shared flag, and supports the `shared' and
|
||||
# `disable-shared' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_SHARED],
|
||||
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([shared],
|
||||
[AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
|
||||
[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_shared=yes ;;
|
||||
no) enable_shared=no ;;
|
||||
*)
|
||||
enable_shared=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_shared=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
|
||||
|
||||
_LT_DECL([build_libtool_libs], [enable_shared], [0],
|
||||
[Whether or not to build shared libraries])
|
||||
])# _LT_ENABLE_SHARED
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-shared])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
|
||||
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_SHARED], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_STATIC([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-static flag, and support the `static' and
|
||||
# `disable-static' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_STATIC],
|
||||
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([static],
|
||||
[AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
|
||||
[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_static=yes ;;
|
||||
no) enable_static=no ;;
|
||||
*)
|
||||
enable_static=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_static=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
|
||||
|
||||
_LT_DECL([build_old_libs], [enable_static], [0],
|
||||
[Whether or not to build static libraries])
|
||||
])# _LT_ENABLE_STATIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-static])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
|
||||
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_STATIC], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
|
||||
# ----------------------------------
|
||||
# implement the --enable-fast-install flag, and support the `fast-install'
|
||||
# and `disable-fast-install' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_FAST_INSTALL],
|
||||
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([fast-install],
|
||||
[AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
|
||||
[optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_fast_install=yes ;;
|
||||
no) enable_fast_install=no ;;
|
||||
*)
|
||||
enable_fast_install=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_fast_install=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
|
||||
|
||||
_LT_DECL([fast_install], [enable_fast_install], [0],
|
||||
[Whether or not to optimize for fast installation])dnl
|
||||
])# _LT_ENABLE_FAST_INSTALL
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
|
||||
|
||||
# Old names:
|
||||
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the `fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the `disable-fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
|
||||
|
||||
|
||||
# _LT_WITH_PIC([MODE])
|
||||
# --------------------
|
||||
# implement the --with-pic flag, and support the `pic-only' and `no-pic'
|
||||
# LT_INIT options.
|
||||
# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
|
||||
m4_define([_LT_WITH_PIC],
|
||||
[AC_ARG_WITH([pic],
|
||||
[AS_HELP_STRING([--with-pic],
|
||||
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
|
||||
[pic_mode="$withval"],
|
||||
[pic_mode=default])
|
||||
|
||||
test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
|
||||
|
||||
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
|
||||
])# _LT_WITH_PIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
|
||||
|
||||
# Old name:
|
||||
AU_DEFUN([AC_LIBTOOL_PICMODE],
|
||||
[_LT_SET_OPTION([LT_INIT], [pic-only])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `pic-only' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
|
||||
|
||||
## ----------------- ##
|
||||
## LTDL_INIT Options ##
|
||||
## ----------------- ##
|
||||
|
||||
m4_define([_LTDL_MODE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
|
||||
[m4_define([_LTDL_MODE], [nonrecursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [recursive],
|
||||
[m4_define([_LTDL_MODE], [recursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [subproject],
|
||||
[m4_define([_LTDL_MODE], [subproject])])
|
||||
|
||||
m4_define([_LTDL_TYPE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [installable],
|
||||
[m4_define([_LTDL_TYPE], [installable])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [convenience],
|
||||
[m4_define([_LTDL_TYPE], [convenience])])
|
||||
externo
+123
@@ -0,0 +1,123 @@
|
||||
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 6 ltsugar.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
|
||||
|
||||
|
||||
# lt_join(SEP, ARG1, [ARG2...])
|
||||
# -----------------------------
|
||||
# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
|
||||
# associated separator.
|
||||
# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
|
||||
# versions in m4sugar had bugs.
|
||||
m4_define([lt_join],
|
||||
[m4_if([$#], [1], [],
|
||||
[$#], [2], [[$2]],
|
||||
[m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
m4_define([_lt_join],
|
||||
[m4_if([$#$2], [2], [],
|
||||
[m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
|
||||
|
||||
# lt_car(LIST)
|
||||
# lt_cdr(LIST)
|
||||
# ------------
|
||||
# Manipulate m4 lists.
|
||||
# These macros are necessary as long as will still need to support
|
||||
# Autoconf-2.59 which quotes differently.
|
||||
m4_define([lt_car], [[$1]])
|
||||
m4_define([lt_cdr],
|
||||
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
|
||||
[$#], 1, [],
|
||||
[m4_dquote(m4_shift($@))])])
|
||||
m4_define([lt_unquote], $1)
|
||||
|
||||
|
||||
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
|
||||
# ------------------------------------------
|
||||
# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
|
||||
# Note that neither SEPARATOR nor STRING are expanded; they are appended
|
||||
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
|
||||
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
|
||||
# than defined and empty).
|
||||
#
|
||||
# This macro is needed until we can rely on Autoconf 2.62, since earlier
|
||||
# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
|
||||
m4_define([lt_append],
|
||||
[m4_define([$1],
|
||||
m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
|
||||
|
||||
|
||||
|
||||
# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
|
||||
# ----------------------------------------------------------
|
||||
# Produce a SEP delimited list of all paired combinations of elements of
|
||||
# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
|
||||
# has the form PREFIXmINFIXSUFFIXn.
|
||||
# Needed until we can rely on m4_combine added in Autoconf 2.62.
|
||||
m4_define([lt_combine],
|
||||
[m4_if(m4_eval([$# > 3]), [1],
|
||||
[m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
|
||||
[[m4_foreach([_Lt_prefix], [$2],
|
||||
[m4_foreach([_Lt_suffix],
|
||||
]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
|
||||
[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
|
||||
|
||||
|
||||
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
|
||||
# -----------------------------------------------------------------------
|
||||
# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
|
||||
# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
|
||||
m4_define([lt_if_append_uniq],
|
||||
[m4_ifdef([$1],
|
||||
[m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
|
||||
[lt_append([$1], [$2], [$3])$4],
|
||||
[$5])],
|
||||
[lt_append([$1], [$2], [$3])$4])])
|
||||
|
||||
|
||||
# lt_dict_add(DICT, KEY, VALUE)
|
||||
# -----------------------------
|
||||
m4_define([lt_dict_add],
|
||||
[m4_define([$1($2)], [$3])])
|
||||
|
||||
|
||||
# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
|
||||
# --------------------------------------------
|
||||
m4_define([lt_dict_add_subkey],
|
||||
[m4_define([$1($2:$3)], [$4])])
|
||||
|
||||
|
||||
# lt_dict_fetch(DICT, KEY, [SUBKEY])
|
||||
# ----------------------------------
|
||||
m4_define([lt_dict_fetch],
|
||||
[m4_ifval([$3],
|
||||
m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
|
||||
m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
|
||||
|
||||
|
||||
# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
|
||||
# -----------------------------------------------------------------
|
||||
m4_define([lt_if_dict_fetch],
|
||||
[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
|
||||
[$5],
|
||||
[$6])])
|
||||
|
||||
|
||||
# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
|
||||
# --------------------------------------------------------------
|
||||
m4_define([lt_dict_filter],
|
||||
[m4_if([$5], [], [],
|
||||
[lt_join(m4_quote(m4_default([$4], [[, ]])),
|
||||
lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
|
||||
[lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
|
||||
])
|
||||
externo
+23
@@ -0,0 +1,23 @@
|
||||
# ltversion.m4 -- version numbers -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# Generated from ltversion.in.
|
||||
|
||||
# serial 3012 ltversion.m4
|
||||
# This file is part of GNU Libtool
|
||||
|
||||
m4_define([LT_PACKAGE_VERSION], [2.2.6])
|
||||
m4_define([LT_PACKAGE_REVISION], [1.3012])
|
||||
|
||||
AC_DEFUN([LTVERSION_VERSION],
|
||||
[macro_version='2.2.6'
|
||||
macro_revision='1.3012'
|
||||
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
|
||||
_LT_DECL(, macro_revision, 0)
|
||||
])
|
||||
externo
+92
@@ -0,0 +1,92 @@
|
||||
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
|
||||
# serial 4 lt~obsolete.m4
|
||||
|
||||
# These exist entirely to fool aclocal when bootstrapping libtool.
|
||||
#
|
||||
# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
|
||||
# which have later been changed to m4_define as they aren't part of the
|
||||
# exported API, or moved to Autoconf or Automake where they belong.
|
||||
#
|
||||
# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
|
||||
# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
|
||||
# using a macro with the same name in our local m4/libtool.m4 it'll
|
||||
# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
|
||||
# and doesn't know about Autoconf macros at all.)
|
||||
#
|
||||
# So we provide this file, which has a silly filename so it's always
|
||||
# included after everything else. This provides aclocal with the
|
||||
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
|
||||
# because those macros already exist, or will be overwritten later.
|
||||
# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
|
||||
#
|
||||
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
|
||||
# Yes, that means every name once taken will need to remain here until
|
||||
# we give up compatibility with versions before 1.7, at which point
|
||||
# we need to keep only those names which we still refer to.
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
|
||||
|
||||
m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
|
||||
m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
|
||||
m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
|
||||
m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
|
||||
m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
|
||||
m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
|
||||
m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
|
||||
m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
|
||||
m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
|
||||
m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
|
||||
m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
|
||||
m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
|
||||
m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
|
||||
m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
|
||||
m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
|
||||
m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
|
||||
m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
|
||||
m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
|
||||
m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
|
||||
m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
|
||||
m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
|
||||
m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
|
||||
m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
|
||||
m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
|
||||
m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
|
||||
m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
|
||||
m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
|
||||
m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
|
||||
m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
|
||||
m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
|
||||
m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
|
||||
m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
|
||||
@@ -0,0 +1,376 @@
|
||||
#! /bin/sh
|
||||
# Common stub for a few missing GNU programs while installing.
|
||||
|
||||
scriptversion=2009-04-28.21; # UTC
|
||||
|
||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
|
||||
# 2008, 2009 Free Software Foundation, Inc.
|
||||
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
if test $# -eq 0; then
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
run=:
|
||||
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
|
||||
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
|
||||
|
||||
# In the cases where this matters, `missing' is being run in the
|
||||
# srcdir already.
|
||||
if test -f configure.ac; then
|
||||
configure_ac=configure.ac
|
||||
else
|
||||
configure_ac=configure.in
|
||||
fi
|
||||
|
||||
msg="missing on your system"
|
||||
|
||||
case $1 in
|
||||
--run)
|
||||
# Try to run requested program, and just exit if it succeeds.
|
||||
run=
|
||||
shift
|
||||
"$@" && exit 0
|
||||
# Exit code 63 means version mismatch. This often happens
|
||||
# when the user try to use an ancient version of a tool on
|
||||
# a file that requires a minimum version. In this case we
|
||||
# we should proceed has if the program had been absent, or
|
||||
# if --run hadn't been passed.
|
||||
if test $? = 63; then
|
||||
run=:
|
||||
msg="probably too old"
|
||||
fi
|
||||
;;
|
||||
|
||||
-h|--h|--he|--hel|--help)
|
||||
echo "\
|
||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||
|
||||
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
|
||||
error status if there is no known handling for PROGRAM.
|
||||
|
||||
Options:
|
||||
-h, --help display this help and exit
|
||||
-v, --version output version information and exit
|
||||
--run try to run the given command, and emulate it if it fails
|
||||
|
||||
Supported PROGRAM values:
|
||||
aclocal touch file \`aclocal.m4'
|
||||
autoconf touch file \`configure'
|
||||
autoheader touch file \`config.h.in'
|
||||
autom4te touch the output file, or create a stub one
|
||||
automake touch all \`Makefile.in' files
|
||||
bison create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||
flex create \`lex.yy.c', if possible, from existing .c
|
||||
help2man touch the output file
|
||||
lex create \`lex.yy.c', if possible, from existing .c
|
||||
makeinfo touch the output file
|
||||
tar try tar, gnutar, gtar, then tar without non-portable flags
|
||||
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||
|
||||
Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
|
||||
\`g' are ignored when checking the name.
|
||||
|
||||
Send bug reports to <bug-automake@gnu.org>."
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||
echo "missing $scriptversion (GNU Automake)"
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo 1>&2 "$0: Unknown \`$1' option"
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
# normalize program name to check for.
|
||||
program=`echo "$1" | sed '
|
||||
s/^gnu-//; t
|
||||
s/^gnu//; t
|
||||
s/^g//; t'`
|
||||
|
||||
# Now exit if we have it, but it failed. Also exit now if we
|
||||
# don't have it and --version was passed (most likely to detect
|
||||
# the program). This is about non-GNU programs, so use $1 not
|
||||
# $program.
|
||||
case $1 in
|
||||
lex*|yacc*)
|
||||
# Not GNU programs, they don't have --version.
|
||||
;;
|
||||
|
||||
tar*)
|
||||
if test -n "$run"; then
|
||||
echo 1>&2 "ERROR: \`tar' requires --run"
|
||||
exit 1
|
||||
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
||||
# Could not run --version or --help. This is probably someone
|
||||
# running `$TOOL --version' or `$TOOL --help' to check whether
|
||||
# $TOOL exists and not knowing $TOOL uses missing.
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# If it does not exist, or fails to run (possibly an outdated version),
|
||||
# try to emulate it.
|
||||
case $program in
|
||||
aclocal*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
|
||||
to install the \`Automake' and \`Perl' packages. Grab them from
|
||||
any GNU archive site."
|
||||
touch aclocal.m4
|
||||
;;
|
||||
|
||||
autoconf*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`${configure_ac}'. You might want to install the
|
||||
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
|
||||
archive site."
|
||||
touch configure
|
||||
;;
|
||||
|
||||
autoheader*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`acconfig.h' or \`${configure_ac}'. You might want
|
||||
to install the \`Autoconf' and \`GNU m4' packages. Grab them
|
||||
from any GNU archive site."
|
||||
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
|
||||
test -z "$files" && files="config.h"
|
||||
touch_files=
|
||||
for f in $files; do
|
||||
case $f in
|
||||
*:*) touch_files="$touch_files "`echo "$f" |
|
||||
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
||||
*) touch_files="$touch_files $f.in";;
|
||||
esac
|
||||
done
|
||||
touch $touch_files
|
||||
;;
|
||||
|
||||
automake*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
|
||||
You might want to install the \`Automake' and \`Perl' packages.
|
||||
Grab them from any GNU archive site."
|
||||
find . -type f -name Makefile.am -print |
|
||||
sed 's/\.am$/.in/' |
|
||||
while read f; do touch "$f"; done
|
||||
;;
|
||||
|
||||
autom4te*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, but is $msg.
|
||||
You might have modified some files without having the
|
||||
proper tools for further handling them.
|
||||
You can get \`$1' as part of \`Autoconf' from any GNU
|
||||
archive site."
|
||||
|
||||
file=`echo "$*" | sed -n "$sed_output"`
|
||||
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||
if test -f "$file"; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo "#! /bin/sh"
|
||||
echo "# Created by GNU Automake missing as a replacement of"
|
||||
echo "# $ $@"
|
||||
echo "exit 0"
|
||||
chmod +x $file
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
bison*|yacc*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' $msg. You should only need it if
|
||||
you modified a \`.y' file. You may need the \`Bison' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Bison' from any GNU archive site."
|
||||
rm -f y.tab.c y.tab.h
|
||||
if test $# -ne 1; then
|
||||
eval LASTARG="\${$#}"
|
||||
case $LASTARG in
|
||||
*.y)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
||||
if test -f "$SRCFILE"; then
|
||||
cp "$SRCFILE" y.tab.c
|
||||
fi
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
||||
if test -f "$SRCFILE"; then
|
||||
cp "$SRCFILE" y.tab.h
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test ! -f y.tab.h; then
|
||||
echo >y.tab.h
|
||||
fi
|
||||
if test ! -f y.tab.c; then
|
||||
echo 'main() { return 0; }' >y.tab.c
|
||||
fi
|
||||
;;
|
||||
|
||||
lex*|flex*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a \`.l' file. You may need the \`Flex' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Flex' from any GNU archive site."
|
||||
rm -f lex.yy.c
|
||||
if test $# -ne 1; then
|
||||
eval LASTARG="\${$#}"
|
||||
case $LASTARG in
|
||||
*.l)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
||||
if test -f "$SRCFILE"; then
|
||||
cp "$SRCFILE" lex.yy.c
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test ! -f lex.yy.c; then
|
||||
echo 'main() { return 0; }' >lex.yy.c
|
||||
fi
|
||||
;;
|
||||
|
||||
help2man*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a dependency of a manual page. You may need the
|
||||
\`Help2man' package in order for those modifications to take
|
||||
effect. You can get \`Help2man' from any GNU archive site."
|
||||
|
||||
file=`echo "$*" | sed -n "$sed_output"`
|
||||
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||
if test -f "$file"; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo ".ab help2man is required to generate this page"
|
||||
exit $?
|
||||
fi
|
||||
;;
|
||||
|
||||
makeinfo*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a \`.texi' or \`.texinfo' file, or any other file
|
||||
indirectly affecting the aspect of the manual. The spurious
|
||||
call might also be the consequence of using a buggy \`make' (AIX,
|
||||
DU, IRIX). You might want to install the \`Texinfo' package or
|
||||
the \`GNU make' package. Grab either from any GNU archive site."
|
||||
# The file to touch is that specified with -o ...
|
||||
file=`echo "$*" | sed -n "$sed_output"`
|
||||
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||
if test -z "$file"; then
|
||||
# ... or it is the one specified with @setfilename ...
|
||||
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
||||
file=`sed -n '
|
||||
/^@setfilename/{
|
||||
s/.* \([^ ]*\) *$/\1/
|
||||
p
|
||||
q
|
||||
}' $infile`
|
||||
# ... or it is derived from the source name (dir/f.texi becomes f.info)
|
||||
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
|
||||
fi
|
||||
# If the file does not exist, the user really needs makeinfo;
|
||||
# let's fail without touching anything.
|
||||
test -f $file || exit 1
|
||||
touch $file
|
||||
;;
|
||||
|
||||
tar*)
|
||||
shift
|
||||
|
||||
# We have already tried tar in the generic part.
|
||||
# Look for gnutar/gtar before invocation to avoid ugly error
|
||||
# messages.
|
||||
if (gnutar --version > /dev/null 2>&1); then
|
||||
gnutar "$@" && exit 0
|
||||
fi
|
||||
if (gtar --version > /dev/null 2>&1); then
|
||||
gtar "$@" && exit 0
|
||||
fi
|
||||
firstarg="$1"
|
||||
if shift; then
|
||||
case $firstarg in
|
||||
*o*)
|
||||
firstarg=`echo "$firstarg" | sed s/o//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
case $firstarg in
|
||||
*h*)
|
||||
firstarg=`echo "$firstarg" | sed s/h//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: I can't seem to be able to run \`tar' with the given arguments.
|
||||
You may want to install GNU tar or Free paxutils, or check the
|
||||
command line arguments."
|
||||
exit 1
|
||||
;;
|
||||
|
||||
*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, and is $msg.
|
||||
You might have modified some files without having the
|
||||
proper tools for further handling them. Check the \`README' file,
|
||||
it often tells you about the needed prerequisites for installing
|
||||
this package. You may also peek at any GNU archive site, in case
|
||||
some other package would contain this missing \`$1' program."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
Arquivo executável
+5
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
sudo echo "SUBSYSTEM==\"usb\", SYSFS{idVendor}==\"04e8\", SYSFS{idProduct}==\"6601\", MODE=\"0666\"" > /etc/udev/rules.d/60-heimdall-galaxy-s.rules
|
||||
sudo service udev reload
|
||||
exit 0
|
||||
|
||||
Arquivo executável
+5
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
sudo rm /etc/udev/rules.d/60-heimdall-galaxy-s.rules
|
||||
sudo service udev reload
|
||||
exit 0
|
||||
|
||||
externo
BIN
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
@@ -0,0 +1,72 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef BEGINDUMPPACKET_H
|
||||
#define BEGINDUMPPACKET_H
|
||||
|
||||
// Heimdall
|
||||
#include "FileTransferPacket.h"
|
||||
|
||||
namespace Heimdall
|
||||
{
|
||||
class BeginDumpPacket : public FileTransferPacket
|
||||
{
|
||||
public:
|
||||
|
||||
enum
|
||||
{
|
||||
kChipTypeRam = 0,
|
||||
kChipTypeNand = 1
|
||||
};
|
||||
|
||||
private:
|
||||
|
||||
unsigned int chipType;
|
||||
unsigned int chipId;
|
||||
|
||||
public:
|
||||
|
||||
BeginDumpPacket(unsigned int chipType, unsigned int chipId) : FileTransferPacket(FileTransferPacket::kRequestDump)
|
||||
{
|
||||
this->chipType = chipType;
|
||||
this->chipId = chipId;
|
||||
}
|
||||
|
||||
unsigned int GetChipType(void) const
|
||||
{
|
||||
return (chipType);
|
||||
}
|
||||
|
||||
unsigned int GetChipId(void) const
|
||||
{
|
||||
return (chipId);
|
||||
}
|
||||
|
||||
virtual void Pack(void)
|
||||
{
|
||||
FileTransferPacket::Pack();
|
||||
|
||||
PackInteger(FileTransferPacket::kDataSize, chipType);
|
||||
PackInteger(FileTransferPacket::kDataSize + 4, chipId);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
@@ -0,0 +1,124 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef BRIDGEMANAGER_H
|
||||
#define BRIDGEMANAGER_H
|
||||
|
||||
// Heimdall
|
||||
#include "Heimdall.h"
|
||||
|
||||
struct libusb_context;
|
||||
struct libusb_device;
|
||||
struct libusb_device_handle;
|
||||
|
||||
namespace Heimdall
|
||||
{
|
||||
class InboundPacket;
|
||||
class OutboundPacket;
|
||||
|
||||
class DeviceIdentifier
|
||||
{
|
||||
public:
|
||||
|
||||
const int vendorId;
|
||||
const int productId;
|
||||
|
||||
DeviceIdentifier(int vid, int pid) :
|
||||
vendorId(vid),
|
||||
productId(pid)
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
class BridgeManager
|
||||
{
|
||||
public:
|
||||
|
||||
enum
|
||||
{
|
||||
kSupportedDeviceCount = 1,
|
||||
|
||||
kCommunicationDelayDefault = 0,
|
||||
kDumpBufferSize = 4096
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
kVidSamsung = 0x04E8
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
kPidGalaxySDownloadMode = 0x6601/*,
|
||||
kPidGalaxySInternational = 0x681C,
|
||||
kPidGalaxySNewInternational = 0x681D,
|
||||
kPidVibrantCanadaBell = 0x6877*/
|
||||
};
|
||||
|
||||
private:
|
||||
|
||||
static const DeviceIdentifier supportedDevices[kSupportedDeviceCount];
|
||||
|
||||
bool verbose;
|
||||
|
||||
libusb_context *libusbContext;
|
||||
libusb_device_handle *deviceHandle;
|
||||
libusb_device *heimdallDevice;
|
||||
int interfaceIndex;
|
||||
int inEndpoint;
|
||||
int outEndpoint;
|
||||
|
||||
int communicationDelay;
|
||||
|
||||
#ifdef OS_LINUX
|
||||
|
||||
bool detachedDriver;
|
||||
|
||||
#endif
|
||||
|
||||
public:
|
||||
|
||||
BridgeManager(bool verbose, int communicationDelay);
|
||||
~BridgeManager();
|
||||
|
||||
bool Initialise(void);
|
||||
|
||||
bool BeginSession(void) const;
|
||||
bool EndSession(void) const;
|
||||
|
||||
bool SendPacket(OutboundPacket *packet, int timeout = 3000) const;
|
||||
bool ReceivePacket(InboundPacket *packet, int timeout = 3000) const;
|
||||
|
||||
bool SendPitFile(FILE *file) const;
|
||||
int ReceivePitFile(unsigned char **pitBuffer) const;
|
||||
|
||||
bool SendFile(FILE *file, int destination, int fileIdentifier = -1) const;
|
||||
bool ReceiveDump(int chipType, int chipId, FILE *file) const;
|
||||
|
||||
bool RebootDevice(void) const;
|
||||
|
||||
bool IsVerbose(void) const
|
||||
{
|
||||
return (verbose);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,71 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef CONTROLPACKET_H
|
||||
#define CONTROLPACKET_H
|
||||
|
||||
// Heimdall
|
||||
#include "OutboundPacket.h"
|
||||
|
||||
namespace Heimdall
|
||||
{
|
||||
class ControlPacket : public OutboundPacket
|
||||
{
|
||||
public:
|
||||
|
||||
enum
|
||||
{
|
||||
kControlTypeDeviceInfo = 0x64,
|
||||
kControlTypePitFile = 0x65,
|
||||
kControlTypeFileTransfer = 0x66,
|
||||
kControlTypeRebootDevice = 0x67
|
||||
};
|
||||
|
||||
protected:
|
||||
|
||||
enum
|
||||
{
|
||||
kDataSize = 4
|
||||
};
|
||||
|
||||
private:
|
||||
|
||||
unsigned int controlType;
|
||||
|
||||
public:
|
||||
|
||||
ControlPacket(unsigned int controlType) : OutboundPacket(1024)
|
||||
{
|
||||
this->controlType = controlType;
|
||||
}
|
||||
|
||||
unsigned int GetControlType(void) const
|
||||
{
|
||||
return (controlType);
|
||||
}
|
||||
|
||||
virtual void Pack(void)
|
||||
{
|
||||
PackInteger(0, controlType);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,74 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef DEVICEINFOPACKET_H
|
||||
#define DEVICEINFOPACKET_H
|
||||
|
||||
// Heimdall
|
||||
#include "ControlPacket.h"
|
||||
|
||||
namespace Heimdall
|
||||
{
|
||||
class DeviceInfoPacket : public ControlPacket
|
||||
{
|
||||
public:
|
||||
|
||||
enum
|
||||
{
|
||||
kUnknown1 = 0, // Begin device info?
|
||||
kUnknown2 = 1, // End device info?
|
||||
kTotalBytes = 2 // Total no. bytes that will be flashed, seems to be ignored though.
|
||||
};
|
||||
|
||||
private:
|
||||
|
||||
unsigned int request;
|
||||
unsigned int unknown3Parameter; // TODO: Subclass for unknown2.
|
||||
|
||||
public:
|
||||
|
||||
DeviceInfoPacket(unsigned int request, unsigned int unknown3Parameter = 0)
|
||||
: ControlPacket(ControlPacket::kControlTypeDeviceInfo)
|
||||
{
|
||||
this->request = request;
|
||||
this->unknown3Parameter = unknown3Parameter;
|
||||
}
|
||||
|
||||
unsigned int GetRequest(void) const
|
||||
{
|
||||
return (request);
|
||||
}
|
||||
|
||||
unsigned int GetUnknown3Parameter(void) const
|
||||
{
|
||||
return (unknown3Parameter);
|
||||
}
|
||||
|
||||
void Pack(void)
|
||||
{
|
||||
ControlPacket::Pack();
|
||||
|
||||
PackInteger(ControlPacket::kDataSize, request);
|
||||
PackInteger(ControlPacket::kDataSize + 4, unknown3Parameter);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,58 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef DEVICEINFORESPONSE_H
|
||||
#define DEVICEINFORESPONSE_H
|
||||
|
||||
// Heimdall
|
||||
#include "ResponsePacket.h"
|
||||
|
||||
namespace Heimdall
|
||||
{
|
||||
class DeviceInfoResponse : public ResponsePacket
|
||||
{
|
||||
private:
|
||||
|
||||
unsigned int unknown;
|
||||
|
||||
public:
|
||||
|
||||
DeviceInfoResponse() : ResponsePacket(ResponsePacket::kResponseTypeDeviceInfo)
|
||||
{
|
||||
}
|
||||
|
||||
int GetUnknown(void) const
|
||||
{
|
||||
return (unknown);
|
||||
}
|
||||
|
||||
bool Unpack(void)
|
||||
{
|
||||
if (!ResponsePacket::Unpack())
|
||||
return (false);
|
||||
|
||||
unknown = UnpackInteger(ResponsePacket::kDataSize);
|
||||
|
||||
return (true);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,56 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef DUMPPARTFILETRANSFERPACKET_H
|
||||
#define DUMPPARTFILETRANSFERPACKET_H
|
||||
|
||||
// Heimdall
|
||||
#include "FileTransferPacket.h"
|
||||
|
||||
namespace Heimdall
|
||||
{
|
||||
class DumpPartFileTransferPacket : public FileTransferPacket
|
||||
{
|
||||
private:
|
||||
|
||||
unsigned int partIndex;
|
||||
|
||||
public:
|
||||
|
||||
DumpPartFileTransferPacket(unsigned int partIndex) : FileTransferPacket(FileTransferPacket::kRequestPart)
|
||||
{
|
||||
this->partIndex = partIndex;
|
||||
}
|
||||
|
||||
unsigned int GetPartIndex(void) const
|
||||
{
|
||||
return (partIndex);
|
||||
}
|
||||
|
||||
virtual void Pack(void)
|
||||
{
|
||||
FileTransferPacket::Pack();
|
||||
|
||||
PackInteger(FileTransferPacket::kDataSize, partIndex);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,56 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef DUMPPARTPITFILEPACKET_H
|
||||
#define DUMPPARTPITFILEPACKET_H
|
||||
|
||||
// Heimdall
|
||||
#include "PitFilePacket.h"
|
||||
|
||||
namespace Heimdall
|
||||
{
|
||||
class DumpPartPitFilePacket : public PitFilePacket
|
||||
{
|
||||
private:
|
||||
|
||||
unsigned int partIndex;
|
||||
|
||||
public:
|
||||
|
||||
DumpPartPitFilePacket(unsigned int partIndex) : PitFilePacket(PitFilePacket::kRequestPart)
|
||||
{
|
||||
this->partIndex = partIndex;
|
||||
}
|
||||
|
||||
unsigned int GetPartIndex(void) const
|
||||
{
|
||||
return (partIndex);
|
||||
}
|
||||
|
||||
void Pack(void)
|
||||
{
|
||||
PitFilePacket::Pack();
|
||||
|
||||
PackInteger(PitFilePacket::kDataSize, partIndex);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,58 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef DUMPRESPONSE_H
|
||||
#define DUMPRESPONSE_H
|
||||
|
||||
// Heimdall
|
||||
#include "ResponsePacket.h"
|
||||
|
||||
namespace Heimdall
|
||||
{
|
||||
class DumpResponse : public ResponsePacket
|
||||
{
|
||||
private:
|
||||
|
||||
unsigned int dumpSize;
|
||||
|
||||
public:
|
||||
|
||||
DumpResponse() : ResponsePacket(kResponseTypeFileTransfer)
|
||||
{
|
||||
}
|
||||
|
||||
unsigned int GetDumpSize(void) const
|
||||
{
|
||||
return (dumpSize);
|
||||
}
|
||||
|
||||
bool Unpack(void)
|
||||
{
|
||||
if (!ResponsePacket::Unpack())
|
||||
return (false);
|
||||
|
||||
dumpSize = UnpackInteger(ResponsePacket::kDataSize);
|
||||
|
||||
return (true);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,120 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef ENDFILETRANSFERPACKET_H
|
||||
#define ENDFILETRANSFERPACKET_H
|
||||
|
||||
// Heimdall
|
||||
#include "FileTransferPacket.h"
|
||||
|
||||
namespace Heimdall
|
||||
{
|
||||
class EndFileTransferPacket : public FileTransferPacket
|
||||
{
|
||||
public:
|
||||
|
||||
enum
|
||||
{
|
||||
kDestinationPhone = 0x00,
|
||||
kDestinationModem = 0x01
|
||||
};
|
||||
|
||||
protected:
|
||||
|
||||
enum
|
||||
{
|
||||
kDataSize = FileTransferPacket::kDataSize + 16
|
||||
};
|
||||
|
||||
private:
|
||||
|
||||
unsigned int destination; // Chip identifier perhaps
|
||||
unsigned short partialPacketLength; // Length or (length - 65536) if lastFullPacket is odd.
|
||||
unsigned int lastFullPacketIndex;
|
||||
unsigned short unknown1;
|
||||
unsigned int unknown2;
|
||||
|
||||
protected:
|
||||
|
||||
EndFileTransferPacket(unsigned int destination, unsigned int partialPacketLength, unsigned int lastFullPacketIndex,
|
||||
unsigned short unknown1, unsigned int unknown2)
|
||||
: FileTransferPacket(FileTransferPacket::kRequestEnd)
|
||||
{
|
||||
this->destination = destination;
|
||||
|
||||
if (partialPacketLength > 65535)
|
||||
{
|
||||
this->partialPacketLength = (partialPacketLength - 65536);
|
||||
this->lastFullPacketIndex = lastFullPacketIndex + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
this->partialPacketLength = partialPacketLength;
|
||||
this->lastFullPacketIndex = lastFullPacketIndex;
|
||||
}
|
||||
|
||||
this->unknown1 = unknown1;
|
||||
this->unknown2 = unknown2;
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
unsigned int GetDestination(void) const
|
||||
{
|
||||
return (destination);
|
||||
}
|
||||
|
||||
unsigned int GetPartialPacketLength(void) const
|
||||
{
|
||||
if (lastFullPacketIndex % 2 == 0)
|
||||
return (partialPacketLength);
|
||||
else
|
||||
return (partialPacketLength + 65536);
|
||||
}
|
||||
|
||||
unsigned int GetLastFullPacketIndex(void) const
|
||||
{
|
||||
return (lastFullPacketIndex - lastFullPacketIndex % 2);
|
||||
}
|
||||
|
||||
unsigned short GetUnknown1(void) const
|
||||
{
|
||||
return (unknown1);
|
||||
}
|
||||
|
||||
unsigned int GetUnknown2(void) const
|
||||
{
|
||||
return (unknown2);
|
||||
}
|
||||
|
||||
virtual void Pack(void)
|
||||
{
|
||||
FileTransferPacket::Pack();
|
||||
|
||||
PackInteger(FileTransferPacket::kDataSize, destination);
|
||||
PackShort(FileTransferPacket::kDataSize + 4, partialPacketLength);
|
||||
PackInteger(FileTransferPacket::kDataSize + 6, lastFullPacketIndex);
|
||||
PackShort(FileTransferPacket::kDataSize + 10, unknown1);
|
||||
PackInteger(FileTransferPacket::kDataSize + 12, unknown2);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,59 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef ENDMODEMFILETRANSFERPACKET_H
|
||||
#define ENDMODEMFILETRANSFERPACKET_H
|
||||
|
||||
// Heimdall
|
||||
#include "EndFileTransferPacket.h"
|
||||
|
||||
namespace Heimdall
|
||||
{
|
||||
class EndModemFileTransferPacket : public EndFileTransferPacket
|
||||
{
|
||||
private:
|
||||
|
||||
unsigned int endOfFile;
|
||||
|
||||
public:
|
||||
|
||||
EndModemFileTransferPacket(unsigned int partialPacketLength, unsigned int lastFullPacketIndex, unsigned short unknown1,
|
||||
unsigned int unknown2, bool endOfFile)
|
||||
: EndFileTransferPacket(EndFileTransferPacket::kDestinationModem, partialPacketLength,
|
||||
lastFullPacketIndex, unknown1, unknown2)
|
||||
{
|
||||
this->endOfFile = (endOfFile) ? 1 : 0;
|
||||
}
|
||||
|
||||
bool IsEndOfFile(void) const
|
||||
{
|
||||
return (endOfFile == 1);
|
||||
}
|
||||
|
||||
void Pack(void)
|
||||
{
|
||||
EndFileTransferPacket::Pack();
|
||||
|
||||
PackInteger(EndFileTransferPacket::kDataSize, endOfFile);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,86 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef ENDPHONEFILETRANSFERPACKET_H
|
||||
#define ENDPHONEFILETRANSFERPACKET_H
|
||||
|
||||
// Heimdall
|
||||
#include "EndFileTransferPacket.h"
|
||||
|
||||
namespace Heimdall
|
||||
{
|
||||
class EndPhoneFileTransferPacket : public EndFileTransferPacket
|
||||
{
|
||||
public:
|
||||
|
||||
enum
|
||||
{
|
||||
kFilePrimaryBootloader = 0x00,
|
||||
kFilePit = 0x01, // New 1.1 - Don't flash the pit this way!
|
||||
kFileSecondaryBootloader = 0x03,
|
||||
kFileSecondaryBootloaderBackup = 0x04, // New 1.1
|
||||
kFileKernel = 0x06,
|
||||
kFileRecovery = 0x07, // New 1.1
|
||||
kFileEfs = 0x14, // New 1.1
|
||||
kFileParamLfs = 0x15,
|
||||
kFileFactoryFilesystem = 0x16,
|
||||
kFileDatabaseData = 0x17,
|
||||
kFileCache = 0x18,
|
||||
|
||||
kFileModem = 0x0B // New 1.1 - Kies flashes the modem this way rather than using the EndModemFileTransferPacket.
|
||||
};
|
||||
|
||||
private:
|
||||
|
||||
unsigned int fileIdentifier;
|
||||
unsigned int endOfFile;
|
||||
|
||||
public:
|
||||
|
||||
EndPhoneFileTransferPacket(unsigned int partialPacketLength, unsigned int lastFullPacketIndex, unsigned short unknown1,
|
||||
unsigned int unknown2, unsigned int fileIdentifier, bool endOfFile)
|
||||
: EndFileTransferPacket(EndFileTransferPacket::kDestinationPhone, partialPacketLength,
|
||||
lastFullPacketIndex, unknown1, unknown2)
|
||||
{
|
||||
this->fileIdentifier = fileIdentifier;
|
||||
this->endOfFile = (endOfFile) ? 1 : 0;
|
||||
}
|
||||
|
||||
unsigned int GetFileIdentifier(void)
|
||||
{
|
||||
return (fileIdentifier);
|
||||
}
|
||||
|
||||
bool IsEndOfFile(void) const
|
||||
{
|
||||
return (endOfFile == 1);
|
||||
}
|
||||
|
||||
void Pack(void)
|
||||
{
|
||||
EndFileTransferPacket::Pack();
|
||||
|
||||
PackInteger(EndFileTransferPacket::kDataSize, fileIdentifier);
|
||||
PackInteger(EndFileTransferPacket::kDataSize + 4, endOfFile);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,73 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef FILETRANSFERPACKET_H
|
||||
#define FILETRANSFERPACKET_H
|
||||
|
||||
// Heimdall
|
||||
#include "ControlPacket.h"
|
||||
|
||||
namespace Heimdall
|
||||
{
|
||||
class FileTransferPacket : public ControlPacket
|
||||
{
|
||||
public:
|
||||
|
||||
enum
|
||||
{
|
||||
kRequestFlash = 0x00,
|
||||
kRequestDump = 0x01,
|
||||
kRequestPart = 0x02,
|
||||
kRequestEnd = 0x03
|
||||
};
|
||||
|
||||
protected:
|
||||
|
||||
enum
|
||||
{
|
||||
kDataSize = ControlPacket::kDataSize + 4
|
||||
};
|
||||
|
||||
private:
|
||||
|
||||
unsigned int request;
|
||||
|
||||
public:
|
||||
|
||||
FileTransferPacket(unsigned int request) : ControlPacket(ControlPacket::kControlTypeFileTransfer)
|
||||
{
|
||||
this->request = request;
|
||||
}
|
||||
|
||||
unsigned int GetRequest(void) const
|
||||
{
|
||||
return (request);
|
||||
}
|
||||
|
||||
virtual void Pack(void)
|
||||
{
|
||||
ControlPacket::Pack();
|
||||
|
||||
PackInteger(ControlPacket::kDataSize, request);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,65 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef FLASHPARTFILETRANSFERPACKET_H
|
||||
#define FLASHPARTFILETRANSFERPACKET_H
|
||||
|
||||
// Heimdall
|
||||
#include "FileTransferPacket.h"
|
||||
|
||||
namespace Heimdall
|
||||
{
|
||||
class FlashPartFileTransferPacket : public FileTransferPacket
|
||||
{
|
||||
private:
|
||||
|
||||
unsigned short unknown;
|
||||
unsigned int transferCount;
|
||||
|
||||
public:
|
||||
|
||||
FlashPartFileTransferPacket(unsigned short unknown, unsigned int transferCount)
|
||||
: FileTransferPacket(FileTransferPacket::kRequestPart)
|
||||
{
|
||||
this->unknown = unknown;
|
||||
this->transferCount = transferCount;
|
||||
}
|
||||
|
||||
unsigned short GetUnknown(void) const
|
||||
{
|
||||
return (unknown);
|
||||
}
|
||||
|
||||
unsigned int GetTransferCount(void) const
|
||||
{
|
||||
return (transferCount);
|
||||
}
|
||||
|
||||
void Pack(void)
|
||||
{
|
||||
FileTransferPacket::Pack();
|
||||
|
||||
PackShort(FileTransferPacket::kDataSize, unknown);
|
||||
PackInteger(FileTransferPacket::kDataSize + 2, transferCount);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,56 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef FLASHPARTPITFILEPACKET_H
|
||||
#define FLASHPARTPITFILEPACKET_H
|
||||
|
||||
// Heimdall
|
||||
#include "PitFilePacket.h"
|
||||
|
||||
namespace Heimdall
|
||||
{
|
||||
class FlashPartPitFilePacket : public PitFilePacket
|
||||
{
|
||||
private:
|
||||
|
||||
unsigned int partSize;
|
||||
|
||||
public:
|
||||
|
||||
FlashPartPitFilePacket(unsigned int partSize) : PitFilePacket(PitFilePacket::kRequestPart)
|
||||
{
|
||||
this->partSize = partSize;
|
||||
}
|
||||
|
||||
unsigned int GetPartSize(void) const
|
||||
{
|
||||
return (partSize);
|
||||
}
|
||||
|
||||
void Pack(void)
|
||||
{
|
||||
PitFilePacket::Pack();
|
||||
|
||||
PackInteger(PitFilePacket::kDataSize, partSize);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,43 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef HEIMDALL_H
|
||||
#define HEIMDALL_H
|
||||
|
||||
#ifdef OS_WINDOWS
|
||||
#include <Windows.h>
|
||||
#else
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#if defined(OS_DARWIN) || defined(OS_LINUX)
|
||||
#include <unistd.h>
|
||||
#define Sleep(t) usleep(1000*t)
|
||||
#else
|
||||
#error operating system not supported
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef nullptr
|
||||
#define nullptr 0
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,77 @@
|
||||
/* Copyright (c) 2010 Benjamin Dobell, Glass Echidna
|
||||
|
||||
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.*/
|
||||
|
||||
#ifndef INBOUNDPACKET_H
|
||||
#define INBOUNDPACKET_H
|
||||
|
||||
// Heimdall
|
||||
#include "Packet.h"
|
||||
|
||||
namespace Heimdall
|
||||
{
|
||||
class InboundPacket : public Packet
|
||||
{
|
||||
private:
|
||||
|
||||
bool sizeVariable;
|
||||
unsigned int receivedSize;
|
||||
|
||||
protected:
|
||||
|
||||
int UnpackInteger(int offset)
|
||||
{
|
||||
#ifdef PPC
|
||||
int value = (data[offset] << 24) | (data[offset + 1] << 16) |
|
||||
(data[offset + 2] << 8) | data[offset + 3];
|
||||
#else
|
||||
// Flip endianness
|
||||
int value = data[offset] | (data[offset + 1] << 8) |
|
||||
(data[offset + 2] << 16) | (data[offset + 3] << 24);
|
||||
#endif
|
||||
return (value);
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
InboundPacket(unsigned int size, bool sizeVariable = false) : Packet(size)
|
||||
{
|
||||
this->sizeVariable = sizeVariable;
|
||||
}
|
||||
|
||||
bool IsSizeVariable(void) const
|
||||
{
|
||||
return (sizeVariable);
|
||||
}
|
||||
|
||||
unsigned int GetReceivedSize(void) const
|
||||
{
|
||||
return (receivedSize);
|
||||
}
|
||||
|
||||
void SetReceivedSize(unsigned int receivedSize)
|
||||
{
|
||||
this->receivedSize = receivedSize;
|
||||
}
|
||||
|
||||
virtual bool Unpack(void) = 0;
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais
Referência em uma Nova Issue
Bloquear um usuário