����JFIF��H�H�����C� %# , #&')*)-0-(0%()(���C (((((((((((((((((((((((((((((((((((((((((((((((((((�������������������������������������������������P������������������������A�!)10������""������"*��@��������#+�OK&������2�Ec�xo����"�P��B}���������������������:9:9=<G$���S,�"5�R2�i��ғ��3ʥ�3@�;":%885I@��e� E��"�H�Z���ς�Z9 .��������[+��M�������������������,��������0" !1234#$5@P`�������?�$|�,.,���1�:�Q��<(���Q�Xi�*3���|T��}h�� L,I�V��|�hoZ��9��ȅ*�+�%��Y_�|5fcq�A�<���"8#_i���x���|�pۨ��p�+a�Q�uoŝȡ`sޚ5�n���.�:v��]�Mk��E�Gh�Ѐ"��B���i�f�<��O:��J�ԍ]o�҈g��Zz�!Xg{<6R�{�x'��`M����?�[Z�ط#5y�t�L�7S�) �vX���^�݈���;=�@^���Ƽ��� �� h��5� ���\��������������������������?4������������������������?4�����4� �������!1"02AQqa 3B��#@P`r��������?��f`��Y�ʉ�j����Zkx��@N�JaS������}����r��t��SɁ�3�p�e��W*͎�z4v\�c����`zdg�dGu3�� ��=�2p*��#��l�9�<���A���Pu��k�������8� � �4k*;���������8���2�b��VӋE�t�[0�kmli�㵑39�i����2��o} mM����kF \�:2�+w{{���-��$xVRkEA�N�]�^�R�[ryeV�G*G4��m�mӃ�N�!��hF�v��I�R��D�_�Q�p��T[l��D�.nNӢ����O��˚�i7+�=�=8qJ���'����K�B{���K�͟e�5���:����e��1��w�m��[MA���č��Vj��mȵ�z)�� č��}��n�(���9��?���)��������!1AQ0aq��� ��@�P`����?!��@v�,c�֟$M��6_���⠾SD$��!�/Y��:�NQ���!�c(��^��b�y��u��+�.H�U$�%嗗��ry�N>��]����X0�2D�q�q}Z��˥4ao����M,E�؇Uq� �Ϙc�AC\��:�+R��-�/9�Z �O�A*��|��+,u�~�#G �B" ���D�X1��_�VwP���OY��"�d��+V�a�\�t�v�^��[��j�c3�^�f4 KTFS��cNI��F���x1F9 �m��@��YڭQ�+(��D��Dߵ[���$�M���&��D�Z�V��&ձGi�@�t}�к�/+�4����wd0Dh���� ��aa�M='�g�UK�M��7�M+�O}�� ��4�r�ԋ�t��g\F,0���k��aX���U� ��5y��6�@�2�� ��DmZ�V{�9]A�.m�EKZ��2 ���?���������I$�I$�I$�I$�I$�I$�I$�I$A$�I$�@$I$�I I$�I ��$�I$�I$I$�II$�I$� �I$�I$�I$�I�A$�I$� �I$��$�I @�I$�$�I$�I �@$�I$�I$�I$�I$�I$�����������������������?4������������������������?4�����+��������!1AQ�aq�0����� ��@P`����?�����(Ir��ʲo��(��#)�0�a �?&�4�0�~��4Տ���K�Fhg~�����թ̛]NH ����}��N��:��5{y���o�BNb���s������C��t��kM�)j*D��$<�������gN���C��s%A#�*��=�@`䠴�?T+�U}�b��ʩ� D+�ϪG����!������j_�*)C�_ЂG�%�ү�4�X��T���IH������0r�"�%\~�%aJ��3�����iԁ �_�!�G�d ;�O�=$ VXx�� ����B�KSZtk�&�#��)�p0�P��Q.��M�9!�ۋne)��ҧ����4'��4$��)�F�^�v��� ��1j�f�z�U�K0�m�V=AA&C����"��gzu%�`08[^���Us���7��нWźU��� �z����4)B��e-�HV%Hh7�ԑ��A(�>hP��\�%a�[lL�_n{Ґ���V4n�FX�D+��1Kt�Z��\��!2��)Y��9�Em8�,��_WeD3¢���a��zW��L�3���d^-�����A��}�Y�g�(A�бx�P>ƌH��ߤ;Vn�q������JH� ?�� A�0�H��E�������jV�U��&H����� ��I�b&3�MF@H��L�E� CV-k6 �T:W���&3y��-օ�cB�6�#�h�VL{Q�0 ���Y��
One Hat Cyber Team
One Hat Cyber Team
Your IP :
18.217.226.1
Server IP :
167.114.57.54
Server :
Linux vps.riaoverseas.com 3.10.0-1160.15.2.el7.x86_64 #1 SMP Wed Feb 3 15:06:38 UTC 2021 x86_64
Server Software :
Apache
PHP Version :
8.0.18
Buat File
|
Buat Folder
Dir :
~
/
usr
/
share
/
automake-1.13
/
Automake
/
View File Name :
VarDef.pm
# Copyright (C) 2003-2013 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/>. package Automake::VarDef; use 5.006; use strict; use Carp; use Automake::ChannelDefs; use Automake::ItemDef; require Exporter; use vars '@ISA', '@EXPORT'; @ISA = qw/Automake::ItemDef Exporter/; @EXPORT = qw (&VAR_AUTOMAKE &VAR_CONFIGURE &VAR_MAKEFILE &VAR_ASIS &VAR_PRETTY &VAR_SILENT &VAR_SORTED); =head1 NAME Automake::VarDef - a class for variable definitions =head1 SYNOPSIS use Automake::VarDef; use Automake::Location; # Create a VarDef for a definition such as # | # any comment # | foo = bar # more comment # in Makefile.am my $loc = new Automake::Location 'Makefile.am:2'; my $def = new Automake::VarDef ('foo', 'bar # more comment', '# any comment', $loc, '', VAR_MAKEFILE, VAR_ASIS); # Appending to a definition. $def->append ('value to append', 'comment to append'); # Accessors. my $value = $def->value; # with trailing '#' comments and # continuation ("\\\n") omitted. my $value = $def->raw_value; # the real value, as passed to new(). my $comment = $def->comment; my $location = $def->location; my $type = $def->type; my $owner = $def->owner; my $pretty = $def->pretty; # Changing owner. $def->set_owner (VAR_CONFIGURE, new Automake::Location 'configure.ac:15'); # Marking examined definitions. $def->set_seen; my $seen_p = $def->seen; # Printing a variable for debugging. print STDERR $def->dump; =head1 DESCRIPTION This class gathers data related to one Makefile-variable definition. =head2 Constants =over 4 =item C<VAR_AUTOMAKE>, C<VAR_CONFIGURE>, C<VAR_MAKEFILE> Possible owners for variables. A variable can be defined by Automake, in F<configure.ac> (using C<AC_SUBST>), or in the user's F<Makefile.am>. =cut # Defined so that the owner of a variable can only be increased (e.g # Automake should not override a configure or Makefile variable). use constant VAR_AUTOMAKE => 0; # Variable defined by Automake. use constant VAR_CONFIGURE => 1;# Variable defined in configure.ac. use constant VAR_MAKEFILE => 2; # Variable defined in Makefile.am. =item C<VAR_ASIS>, C<VAR_PRETTY>, C<VAR_SILENT>, C<VAR_SORTED> Possible print styles. C<VAR_ASIS> variables should be output as-is. C<VAR_PRETTY> variables are wrapped on multiple lines if they cannot fit on one. C<VAR_SILENT> variables are not output at all. Finally, C<VAR_SORTED> variables should be sorted and then handled as C<VAR_PRETTY> variables. C<VAR_SILENT> variables can also be overridden silently (unlike the other kinds of variables whose overriding may sometimes produce warnings). =cut # Possible values for pretty. use constant VAR_ASIS => 0; # Output as-is. use constant VAR_PRETTY => 1; # Pretty printed on output. use constant VAR_SILENT => 2; # Not output. (Can also be # overridden silently.) use constant VAR_SORTED => 3; # Sorted and pretty-printed. =back =head2 Methods C<VarDef> defines the following methods in addition to those inherited from L<Automake::ItemDef>. =over 4 =item C<my $def = new Automake::VarDef ($varname, $value, $comment, $location, $type, $owner, $pretty)> Create a new Makefile-variable definition. C<$varname> is the name of the variable being defined and C<$value> its value. C<$comment> is any comment preceding the definition. (Because Automake reorders variable definitions in the output, it also tries to carry comments around.) C<$location> is the place where the definition occurred, it should be an instance of L<Automake::Location>. C<$type> should be C<''> for definitions made with C<=>, and C<':'> for those made with C<:=>. C<$owner> specifies who owns the variables, it can be one of C<VAR_AUTOMAKE>, C<VAR_CONFIGURE>, or C<VAR_MAKEFILE> (see these definitions). Finally, C<$pretty> tells how the variable should be output, and can be one of C<VAR_ASIS>, C<VAR_PRETTY>, or C<VAR_SILENT>, or C<VAR_SORTED> (see these definitions). =cut sub new ($$$$$$$$) { my ($class, $var, $value, $comment, $location, $type, $owner, $pretty) = @_; # A user variable must be set by either '=' or ':=', and later # promoted to '+='. if ($owner != VAR_AUTOMAKE && $type eq '+') { error $location, "$var must be set with '=' before using '+='"; } my $self = Automake::ItemDef::new ($class, $comment, $location, $owner); $self->{'value'} = $value; $self->{'type'} = $type; $self->{'pretty'} = $pretty; $self->{'seen'} = 0; return $self; } =item C<$def-E<gt>append ($value, $comment)> Append C<$value> and <$comment> to the existing value and comment of C<$def>. This is normally called on C<+=> definitions. =cut sub append ($$$) { my ($self, $value, $comment) = @_; $self->{'comment'} .= $comment; my $val = $self->{'value'}; # Strip comments from augmented variables. This is so that # VAR = foo # com # VAR += bar # does not become # VAR = foo # com bar # Furthermore keeping '#' would not be portable if the variable is # output on multiple lines. $val =~ s/ ?#.*//; # Insert a separator, if required. $val .= ' ' if $val; $self->{'value'} = $val . $value; # Turn ASIS appended variables into PRETTY variables. This is to # cope with 'make' implementation that cannot read very long lines. $self->{'pretty'} = VAR_PRETTY if $self->{'pretty'} == VAR_ASIS; } =item C<$def-E<gt>value> =item C<$def-E<gt>raw_value> =item C<$def-E<gt>type> =item C<$def-E<gt>pretty> Accessors to the various constituents of a C<VarDef>. See the documentation of C<new>'s arguments for a description of these. =cut sub value ($) { my ($self) = @_; my $val = $self->raw_value; # Strip anything past '#'. '#' characters cannot be escaped # in Makefiles, so we don't have to be smart. $val =~ s/#.*$//s; # Strip backslashes. $val =~ s/\\$/ /mg; return $val; } sub raw_value ($) { my ($self) = @_; return $self->{'value'}; } sub type ($) { my ($self) = @_; return $self->{'type'}; } sub pretty ($) { my ($self) = @_; return $self->{'pretty'}; } =item C<$def-E<gt>set_owner ($owner, $location)> Change the owner of a definition. This usually happens because the user used C<+=> on an Automake variable, so (s)he now owns the content. C<$location> should be an instance of L<Automake::Location> indicating where the change took place. =cut sub set_owner ($$$) { my ($self, $owner, $location) = @_; # We always adjust the location when the owner changes (even for # '+=' statements). The risk otherwise is to warn about # a VAR_MAKEFILE variable and locate it in configure.ac... $self->{'owner'} = $owner; $self->{'location'} = $location; } =item C<$def-E<gt>set_seen> =item C<$bool = $def-E<gt>seen> These function allows Automake to mark (C<set_seen>) variable that it has examined in some way, and latter check (using C<seen>) for unused variables. Unused variables usually indicate typos. =cut sub set_seen ($) { my ($self) = @_; $self->{'seen'} = 1; } sub seen ($) { my ($self) = @_; return $self->{'seen'}; } =item C<$str = $def-E<gt>dump> Format the contents of C<$def> as a human-readable string, for debugging. =cut sub dump ($) { my ($self) = @_; my $owner = $self->owner; if ($owner == VAR_AUTOMAKE) { $owner = 'Automake'; } elsif ($owner == VAR_CONFIGURE) { $owner = 'Configure'; } elsif ($owner == VAR_MAKEFILE) { $owner = 'Makefile'; } else { prog_error ("unexpected owner"); } my $where = $self->location->dump; my $comment = $self->comment; my $value = $self->raw_value; my $type = $self->type; return "{ type: $type= where: $where comment: $comment value: $value owner: $owner }\n"; } =back =head1 SEE ALSO L<Automake::Variable>, L<Automake::ItemDef>. =cut 1; ### Setup "GNU" style for perl-mode and cperl-mode. ## Local Variables: ## perl-indent-level: 2 ## perl-continued-statement-offset: 2 ## perl-continued-brace-offset: 0 ## perl-brace-offset: 0 ## perl-brace-imaginary-offset: 0 ## perl-label-offset: -2 ## cperl-indent-level: 2 ## cperl-brace-offset: 0 ## cperl-continued-brace-offset: 0 ## cperl-label-offset: -2 ## cperl-extra-newline-before-brace: t ## cperl-merge-trailing-else: nil ## cperl-continued-statement-offset: 2 ## End: