1/* Copyright (C) 2021 Free Software Foundation, Inc. 2 Contributed by Oracle. 3 4 This file is part of GNU Binutils. 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3, or (at your option) 9 any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program; if not, write to the Free Software 18 Foundation, 51 Franklin Street - Fifth Floor, Boston, 19 MA 02110-1301, USA. */ 20 21#ifndef _GP_ARCHIVE_H_ 22#define _GP_ARCHIVE_H_ 23 24#include <regex.h> 25#include "DbeApplication.h" 26 27class ArchiveExp; 28class LoadObject; 29template <class ITEM> class Vector; 30 31enum 32{ 33 ARCH_NOTHING = 0, 34 ARCH_EXE_ONLY = 1, 35 ARCH_USED_EXE_ONLY = 2, 36 ARCH_USED_SRC_ONLY = 4, 37 ARCH_ALL = 8 38}; 39 40class er_archive : public DbeApplication 41{ 42public: 43 er_archive (int argc, char *argv[]); 44 ~er_archive (); 45 void start (int argc, char *argv[]); 46 47private: 48 void usage (); 49 int check_args (int argc, char *argv[]); 50 int clean_old_archive (char *expname, ArchiveExp *founder_exp); 51 int mask_is_on (const char *str); 52 void check_env_var (); 53 Vector <LoadObject*> *get_loadObjs (); 54 55 Vector<regex_t *> *mask; // -m <regexp> 56 int s_option; // -s NO|ALL|USED 57 char *common_archive_dir; // -d // absolute path to common archive 58 int force; // -F 59 int quiet; // -q 60 int descendant; // -n 61 int use_relative_path; // -r 62}; 63 64#endif