1104834Sobrien/* Binutils emulation layer. 2130561Sobrien Copyright 2002, 2003 Free Software Foundation, Inc. 3218822Sdim Written by Tom Rix, Red Hat Inc. 4104834Sobrien 5104834Sobrien This file is part of GNU Binutils. 6104834Sobrien 7104834Sobrien This program is free software; you can redistribute it and/or modify 8104834Sobrien it under the terms of the GNU General Public License as published by 9104834Sobrien the Free Software Foundation; either version 2 of the License, or 10104834Sobrien (at your option) any later version. 11104834Sobrien 12104834Sobrien This program is distributed in the hope that it will be useful, 13104834Sobrien but WITHOUT ANY WARRANTY; without even the implied warranty of 14104834Sobrien MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15104834Sobrien GNU General Public License for more details. 16104834Sobrien 17104834Sobrien You should have received a copy of the GNU General Public License 18104834Sobrien along with this program; if not, write to the Free Software 19218822Sdim Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ 20104834Sobrien 21104834Sobrien#include "binemul.h" 22104834Sobrien 23104834Sobrienextern bin_emulation_xfer_type bin_dummy_emulation; 24104834Sobrien 25104834Sobrienvoid 26130561Sobrienar_emul_usage (FILE *fp) 27104834Sobrien{ 28104834Sobrien if (bin_dummy_emulation.ar_usage) 29104834Sobrien bin_dummy_emulation.ar_usage (fp); 30104834Sobrien} 31104834Sobrien 32104834Sobrienvoid 33130561Sobrienar_emul_default_usage (FILE *fp) 34104834Sobrien{ 35104834Sobrien AR_EMUL_USAGE_PRINT_OPTION_HEADER (fp); 36104834Sobrien /* xgettext:c-format */ 37104834Sobrien fprintf (fp, _(" No emulation specific options\n")); 38104834Sobrien} 39104834Sobrien 40130561Sobrienbfd_boolean 41130561Sobrienar_emul_append (bfd **after_bfd, char *file_name, bfd_boolean verbose) 42104834Sobrien{ 43104834Sobrien if (bin_dummy_emulation.ar_append) 44104834Sobrien return bin_dummy_emulation.ar_append (after_bfd, file_name, verbose); 45104834Sobrien 46130561Sobrien return FALSE; 47104834Sobrien} 48104834Sobrien 49130561Sobrienbfd_boolean 50130561Sobrienar_emul_default_append (bfd **after_bfd, char *file_name, 51130561Sobrien bfd_boolean verbose) 52104834Sobrien{ 53104834Sobrien bfd *temp; 54104834Sobrien 55104834Sobrien temp = *after_bfd; 56104834Sobrien *after_bfd = bfd_openr (file_name, NULL); 57104834Sobrien 58104834Sobrien AR_EMUL_ELEMENT_CHECK (*after_bfd, file_name); 59104834Sobrien AR_EMUL_APPEND_PRINT_VERBOSE (verbose, file_name); 60104834Sobrien 61218822Sdim (*after_bfd)->archive_next = temp; 62104834Sobrien 63130561Sobrien return TRUE; 64104834Sobrien} 65104834Sobrien 66130561Sobrienbfd_boolean 67130561Sobrienar_emul_replace (bfd **after_bfd, char *file_name, bfd_boolean verbose) 68104834Sobrien{ 69104834Sobrien if (bin_dummy_emulation.ar_replace) 70104834Sobrien return bin_dummy_emulation.ar_replace (after_bfd, file_name, verbose); 71104834Sobrien 72130561Sobrien return FALSE; 73104834Sobrien} 74104834Sobrien 75130561Sobrienbfd_boolean 76130561Sobrienar_emul_default_replace (bfd **after_bfd, char *file_name, 77130561Sobrien bfd_boolean verbose) 78104834Sobrien{ 79104834Sobrien bfd *temp; 80104834Sobrien 81104834Sobrien temp = *after_bfd; 82104834Sobrien *after_bfd = bfd_openr (file_name, NULL); 83104834Sobrien 84104834Sobrien AR_EMUL_ELEMENT_CHECK (*after_bfd, file_name); 85104834Sobrien AR_EMUL_REPLACE_PRINT_VERBOSE (verbose, file_name); 86104834Sobrien 87218822Sdim (*after_bfd)->archive_next = temp; 88104834Sobrien 89130561Sobrien return TRUE; 90104834Sobrien} 91104834Sobrien 92130561Sobrienbfd_boolean 93130561Sobrienar_emul_parse_arg (char *arg) 94104834Sobrien{ 95104834Sobrien if (bin_dummy_emulation.ar_parse_arg) 96104834Sobrien return bin_dummy_emulation.ar_parse_arg (arg); 97104834Sobrien 98130561Sobrien return FALSE; 99104834Sobrien} 100104834Sobrien 101130561Sobrienbfd_boolean 102130561Sobrienar_emul_default_parse_arg (char *arg ATTRIBUTE_UNUSED) 103104834Sobrien{ 104130561Sobrien return FALSE; 105104834Sobrien} 106