mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Merge pull request #2353 from ethereum/license_output
Include license and warranty statement with solc.
This commit is contained in:
		
						commit
						40f5690f68
					
				| @ -24,6 +24,10 @@ include(EthExecutableHelper) | ||||
| # Include utils | ||||
| include(EthUtils) | ||||
| 
 | ||||
| # Create license.h from LICENSE.txt and template | ||||
| file(READ ${CMAKE_SOURCE_DIR}/LICENSE.txt LICENSE_TEXT) | ||||
| configure_file("${CMAKE_SOURCE_DIR}/cmake/templates/license.h.in" "license.h") | ||||
| 
 | ||||
| include(EthOptions) | ||||
| configure_project(TESTS) | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										3
									
								
								cmake/templates/license.h.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								cmake/templates/license.h.in
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | ||||
| #pragma once | ||||
| 
 | ||||
| static char const* licenseText = R"(@LICENSE_TEXT@)"; | ||||
| @ -23,6 +23,7 @@ | ||||
| #include "CommandLineInterface.h" | ||||
| 
 | ||||
| #include "solidity/BuildInfo.h" | ||||
| #include "license.h" | ||||
| 
 | ||||
| #include <libsolidity/interface/Version.h> | ||||
| #include <libsolidity/parsing/Scanner.h> | ||||
| @ -94,6 +95,7 @@ static string const g_strHelp = "help"; | ||||
| static string const g_strInputFile = "input-file"; | ||||
| static string const g_strInterface = "interface"; | ||||
| static string const g_strJulia = "julia"; | ||||
| static string const g_strLicense = "license"; | ||||
| static string const g_strLibraries = "libraries"; | ||||
| static string const g_strLink = "link"; | ||||
| static string const g_strMetadata = "metadata"; | ||||
| @ -186,6 +188,13 @@ static void version() | ||||
| 	exit(0); | ||||
| } | ||||
| 
 | ||||
| static void license() | ||||
| { | ||||
| 	// This is a static variable generated by cmake from LICENSE.txt
 | ||||
| 	cout << licenseText << endl; | ||||
| 	exit(0); | ||||
| } | ||||
| 
 | ||||
| static bool needsHumanTargetedStdout(po::variables_map const& _args) | ||||
| { | ||||
| 	if (_args.count(g_argGas)) | ||||
| @ -510,8 +519,12 @@ void CommandLineInterface::createFile(string const& _fileName, string const& _da | ||||
| bool CommandLineInterface::parseArguments(int _argc, char** _argv) | ||||
| { | ||||
| 	// Declare the supported options.
 | ||||
| 	po::options_description desc( | ||||
| 		R"(solc, the Solidity commandline compiler. | ||||
| 	po::options_description desc(R"(solc, the Solidity commandline compiler. | ||||
| 
 | ||||
| This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you | ||||
| are welcome to redistribute it under certain conditions. See 'solc --license' | ||||
| for details. | ||||
| 
 | ||||
| Usage: solc [options] [input_file...] | ||||
| Compiles the given Solidity input files (or the standard input if none given or | ||||
| "-" is used as a file name) and outputs the components specified in the options | ||||
| @ -523,10 +536,12 @@ Example: | ||||
| 
 | ||||
| Allowed options)", | ||||
| 		po::options_description::m_default_line_length, | ||||
| 		po::options_description::m_default_line_length - 23); | ||||
| 		po::options_description::m_default_line_length - 23 | ||||
| 	); | ||||
| 	desc.add_options() | ||||
| 		(g_argHelp.c_str(), "Show help message and exit.") | ||||
| 		(g_argVersion.c_str(), "Show version and exit.") | ||||
| 		(g_strLicense.c_str(), "Show licensing information and exit.") | ||||
| 		(g_argOptimize.c_str(), "Enable bytecode optimizer.") | ||||
| 		( | ||||
| 			g_argOptimizeRuns.c_str(), | ||||
| @ -633,6 +648,12 @@ Allowed options)", | ||||
| 		return false; | ||||
| 	} | ||||
| 
 | ||||
| 	if (m_args.count(g_strLicense)) | ||||
| 	{ | ||||
| 		license(); | ||||
| 		return false; | ||||
| 	} | ||||
| 
 | ||||
| 	if (m_args.count(g_argCombinedJson)) | ||||
| 	{ | ||||
| 		vector<string> requests; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user